我们有一组使用不同 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(使用前将#替换为@)