azure - 如何使用较新版本的 Maven 在 Azure Pipelines 中进行 CI/CD 构建

标签 azure azure-devops azure-pipelines-build-task

我需要 Maven 3.5.3 或更高版本来构建托管在 github 上的项目。默认版本为maven Azure 管道 CI/CD 中使用的版本是 3.3.9。 我可以看到有一种方法可以使用Java tool installer安装不同版本的java 。我在他们的 documentation 中没有找到这样的选项对于行家来说。

但是对于 maven可以指定

mavenVersionOption: 'Default' # Options: default, path
mavenDirectory: # Required when mavenVersionOption == Path

但是作为一个新手,我不明白如何安装maven并在此处指定路径。

任何有关如何在 Azure 管道 CI/CD 中使用不同版本进行 Maven 构建的帮助,我们将不胜感激。

最佳答案

由于我使用的是 Ubuntu 环境,因此我可以通过使用脚本下载 maven 并设置 maven 的路径来运行它,如下所示:

pool:
  vmImage: 'Ubuntu 16.04'

steps:
- script: 'wget http://www-eu.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip'

- task: ExtractFiles@1
  inputs:
      archiveFilePatterns: 'apache-maven-3.5.4-bin.zip'
      destinationFolder: '$(build.sourcesdirectory)/maven'

- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    goals: 'clean install -P ballerina'
    mavenVersionOption: 'Path'
    mavenDirectory: '$(build.sourcesdirectory)/maven/apache-maven-3.5.4'
    mavenSetM2Home: true

您可以找到适用于所有操作系统的 yaml 文件 here .

感谢 @starian chen-MSFT 的提醒。

关于azure - 如何使用较新版本的 Maven 在 Azure Pipelines 中进行 CI/CD 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52327870/

相关文章:

gradle - Depite命令退出任务不会在容器管道中的Devops Pipelines中结束

msbuild - 在 VSTS 中,如何将电子邮件通知任务添加到构建和发布定义中?

visual-studio-2017 - VSTS : Test runner finds no tests

python - 适用于 Azure CosmosDB 的 Gremlin Python SDK

.net - Azure 中不健康的实例

c# - 通过MVC 5 Controller 获取Azure中的客户端IP

c++ - 如何在 GitHub 存储库的团队服务构建中链接第三方库 (.lib)?

azure - 使用 SAML 进行 WAAD 身份验证 : LiveId is not supported

python - 在 VSTS 中构建 Django 应用程序的定义

git - 如何解决 pull 请求期间的 merge 冲突?