jenkins - 如何在build.gradle文件中定义变量,其值由jenkins动态传递

标签 jenkins gradle gulp arguments parameter-passing

我的build.gradle中有一个Gradle任务'runRegression',它正在调用Gulp任务'runEndtoEnd',并将参数'param1'传递给它。

task runRegression(type: Exec){
  executable "xvfb-run"
  args "gulp", "runEndtoEnd", param1
}

jenkins调用Gradle任务,该任务将使用以下命令传递“param1”的值:gradle runRegression -Pparam1=Dev
当我执行命令时,我可以看到gradle任务正在执行gulp任务,并通过'param1'将参数传递给它。
当我们进行“渐进式构建”时,问题就来了。
无法解析参数“param1”。
出现错误:
评估项目时发生问题:。
在任务“runRegression”上找不到属性“param1”。
有什么解决办法吗?提前致谢。

最佳答案

找不到param1。您可以通过-P发送类似于以下内容的值

def myProp = project.hasProperty('param1') ?
        project.getProperty('param1') : null

执行gradle -Pparam1=dev后,myProp的值将为dev

关于jenkins - 如何在build.gradle文件中定义变量,其值由jenkins动态传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36197176/

相关文章:

node.js - Jenkins 上的 `npm install` 输出

jenkins - 如何在 jenkins 管道构建日志中禁用命令输出

android - 如何在Android Studio中使用Gradle链接外部文件/文件夹(Eclipse的linkedresources功能)

android - Gradle 找不到不存在的依赖项 - Android 工作室

html - 将多个 html 模板组合成单个 index.html 文件

node.js - 使用 gulp 任务运行 Node 服务器

java - 从 Java 函数返回环境变量,并在 Jenkins 中设置相同的环境变量以运行构建

jenkins - 为 cucumber.api.cli.Main 选择不同的运行者?

java - Gradle:从命令行将参数传递给编译器

javascript - 用于构建自动化的 Web UI 管道