使用Azure DevOps从一个存储库构建多个项目

时间:2020-09-27 17:56:38

标签: reactjs spring-boot maven azure-devops devops

我们在GitLab上托管了一个Java / Spring Boot / React项目。经过初步开发,我们决定迁移到Azure DevOps。托管在GitLab上和本地文件夹结构中的项目结构很简单:

-- Parent project (parent folder)
------- First Spring Boot Project (built with Maven, produces JAR1)
------- Second Spring Boot Project (built with Maven, uses JAR1 as dependency, produces JAR2)
------- React project (built with NPM, produces static pages)

我需要为React和Spring 1和2项目设置单独的构建过程。 在Azure DevOps中,有用于从特定分支进行构建的选择器,但我看不到如何设置管道来从特定文件夹构建项目?

2 个答案:

答案 0 :(得分:1)

您具有路径过滤器:

# specific path build
trigger:
  branches:
    include:
    - master
    - releases/*
  paths:
    include:
    - docs/*
    exclude:
    - docs/README.md

请检查文档here

答案 1 :(得分:1)

  1. 使用Maven任务构建Spring Boot项目时,需要通过更改Maven POM文件字段的值来指定pom.xml文件的路径。文件路径值应相对于存储库的根目录,例如IdentityService / pom.xml或$(system.defaultWorkingDirectory)/IdentityService/pom.xml。 这是有关Maven task的文档。
  2. 使用npm任务构建React项目时,可以设置包含package.json的工作文件夹。设置工作文件夹时,请选择文件夹而不是文件。 这是有关npm task的文档。

此外,您可能还需要在持续集成(CI)触发器中设置路径过滤器。这是有关CI Triggers的文档。