【问题标题】:Pass parameter from jenkins stage to gradle task将参数从 jenkins 阶段传递给 gradle 任务
【发布时间】:2021-09-01 06:47:06
【问题描述】:

我有这个 jenkins 阶段,我试图将参数传递给 gradle 任务。好像 gradle 任务没有收到它

詹金斯

stage('Version Bump') {
    steps {
        script {
            version = (new Date().format('YYYY.ww.')) + env.BUILD_NUMBER
            sh './gradlew bumpVersion --no-daemon -Pversion=${version}'
        }
    }
}

Gradle 任务

task bumpVersion() {
    doFirst {
        println version
    }
}

版本未打印。我已通过在 jenkins 文件中回显来确认该值是正确的。

【问题讨论】:

    标签: jenkins gradle


    【解决方案1】:

    如果您在以下行中使用双引号,它应该可以工作:

            sh "./gradlew bumpVersion --no-daemon -Pversion=${version}"
    

    否则,Groovy 不会替换 ${version},然后运行 ​​shell 会找到未设置的 version shell 变量并将其扩展为空字符串(然后由 Gradle 打印 - 使其出现好像什么都没有打印)。

    【讨论】:

      猜你喜欢
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多