【问题标题】:How to use newer versions of Maven for builds in Azure Pipelines for CI/CD如何在 Azure Pipelines for CI/CD 中使用较新版本的 Maven 进行构建
【发布时间】:2018-09-14 08:25:58
【问题描述】:

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

但是对于maven,可以指定

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

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

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

【问题讨论】:

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


    【解决方案1】:

    由于我在 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 的提醒。

    【讨论】:

      【解决方案2】:

      参考以下步骤:

      1. 下载 maven 安装包并添加到源代码管理(您也可以在构建/发布期间下载)
      2. 添加提取文件任务(存档文件模式:apache-maven-3.5.4-bin.zip;目标文件夹:$(build.sourcesdirectory)\maven
      3. 添加 PowerShell 任务:

      代码:

      Write-Host "##vso[task.setvariable variable=M2_HOME;]$(build.sourcesdirectory)\maven\apache-maven-3.5.4"
      Write-Host "##vso[task.setvariable variable=MAVEN_HOME;]$(build.sourcesdirectory)\maven\apache-maven-3.5.4"
      Write-Host "##vso[task.prependpath]$(build.sourcesdirectory)\maven\apache-maven-3.5.4\bin"
      
      1. 添加 PowerShell 任务以检查版本:mvn --version

      【讨论】:

      • 对不起,我的无知,但是如何将安装程序包添加到源代码管理?
      • 或者发布时有没有办法下载?你能指出一个文档吗?
      • @RiyafaAbdulHameed 只需签入或提交/推送安装程序包到 VSTS 存储库。关于构建/发布期间的下载文件:blog.jourdant.me/post/3-ways-to-download-files-with-powershell)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2022-08-07
      • 1970-01-01
      • 2019-09-26
      相关资源
      最近更新 更多