gpt4 book ai didi

gradle - 将作业参数传递到脚本化管道中的gradle任务

转载 作者:行者123 更新时间:2023-12-03 03:59:56 24 4
gpt4 key购买 nike

我正在尝试在脚本化管道中转换我的自由式工作,我正在使用gradle进行构建和人工构建,以解决我的依赖并发布人工构建。

当我配置调用gradle脚本时,我的构建使用3个参数进行了参数化,并且在自由样式作业中,我具有复选框将所有作业参数作为系统属性传递给我
project.gradle文件我将参数与System.getProperty()命令一起使用。

现在实现我的管道,我定义了作业参数,在Jenkinsfile中有像环境变量这样的参数,但是我可以将此参数传递给gradle任务吗?

按照官方教程在管道中使用Artifactory-Gradle插件,我使用以下命令运行构建:

buildinfo = rtGradle.run rootDir: "workspace/project/", buildFile: 'project.gradle', tasks: "cleanJunitPlatformTest build"

我可以在.gradle文件中通过参数来构建和使用gradle吗?

谢谢

最佳答案

是的你可以。如果使用sh''',则将其切换为sh“”“以获取扩展值

Jenkins 文件

  #!/usr/bin/env groovy

pipeline {
agent any

parameters {
string(name: 'firstParam', defaultValue: 'AAA', description: '')
string(name: 'secondParam', defaultValue: 'BBB', description: '')
string(name: 'thirdParam', defaultValue: 'CCC', description: '')
}

stages {
stage ('compile') {
steps {
sh """
gradle -PfirstParam=${params.firstParam} -PsecondParam=${params.secondParam} -PthirdParam=${params.thirdParam} clean build
sh """
}
}
}
}

在build.gradle中,您可以按以下方式访问它们
def firstParam = project.getProperty("firstParam")

与带有-P的项目属性相比,还可以将SystemProperty与-D前缀一起使用。在这种情况下,您可以将build.gradle中的值获取为
def firstParam = System.getProperty("firstParam")

关于gradle - 将作业参数传递到脚本化管道中的gradle任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47572355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com