具有自托管代理的 Azure DevOps Pipeline for Java 项目

2024-04-26

我们有一组使用不同 JDK 版本开发的 Java 项目,项目中使用了不同版本的 Gradle 和 Maven。

我们应该使用以下命令创建 Azure DevOps PipelineSelf Hosted Agent截至目前,构建代理服务器已随 JDK 11 安装。

如何创建管道来处理如此多样化的项目?我们是否需要在自托管代理中安装多个 JDK 版本或其他更好的方法?


是的,如果您想使用自托管代理,您需要安装多个 JDK 版本。更好的方法是使用 Microsoft-hoseted 代理,因为它预装了某些版本的 JDK。您可以参考有关文档搭建环境 https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/java?view=azure-devops#build-environment and 使用多个版本构建 https://learn.microsoft.com/en-us/azure/devops/pipelines/customize-pipeline?view=azure-devops#build-using-multiple-versions.

Update:

以下是我使用自托管代理的 Gradle 示例:

1.使用java工具安装任务:

steps:
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '11'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'LocalDirectory'
    jdkFile: 'C:\jdk-11.0.10.zip'
    cleanDestinationDirectory: false
- task: Gradle@2
  inputs:
    gradleWrapperFile: 'gradlew'
    tasks: 'build'
    publishJUnitResults: false
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    gradleOptions: '-Xmx3072m'
    sonarQubeRunAnalysis: false
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'LocalDirectory'
    jdkFile: 'C:\jdk1.8.0_281.zip'
    cleanDestinationDirectory: false
- task: Gradle@2
  inputs:
    gradleWrapperFile: 'gradlew'
    tasks: 'build'
    publishJUnitResults: false
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    gradleOptions: '-Xmx3072m'
    sonarQubeRunAnalysis: false

JDK file https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/java-tool-installer?view=azure-devops#argumentsjava工具安装任务:

当 jdkSourceOption == LocalDirectory 时适用。指定包含压缩的 JDK 的 jdk 存档文件的路径。该路径可以位于源存储库中或代理上的本地路径。该文件应该是一个存档(.zip、.tar.gz、.7z),在根级别或单个目录中包含 bin 文件夹。

2.直接使用gradle任务:

steps:
- task: Gradle@2
  inputs:
    gradleWrapperFile: 'gradlew'
    tasks: 'build'
    publishJUnitResults: false
    javaHomeOption: 'Path'
    jdkDirectory: 'C:\Program Files\Java\jdk-11.0.10'
    gradleOptions: '-Xmx3072m'
    sonarQubeRunAnalysis: false

- task: Gradle@2
  inputs:
    gradleWrapperFile: 'gradlew'
    tasks: 'build'
    publishJUnitResults: false
    javaHomeOption: 'Path'
    jdkDirectory: 'C:\Program Files\Java\jdk1.8.0_281'
    gradleOptions: '-Xmx3072m'
    sonarQubeRunAnalysis: false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有自托管代理的 Azure DevOps Pipeline for Java 项目 的相关文章

随机推荐