gpt4 book ai didi

带有用户输入的 Jenkinsfile,选择中有变量

转载 作者:行者123 更新时间:2023-12-05 02:18:40 27 4
gpt4 key购买 nike

我想为新工作使用新的 Jenkinsfile。

我在个人存储库中有 jenkinsfile:

  1. 我在 bash 中通过 git ls-remote 从另一个 gitlab 存储库获取分支。我将它们存储在变量中:branch1、branch2、brach3....
  2. 然后我想在用户输入选择中使用这些变量

    script {                
    env.BRANCHDEPLOY = input message: 'User input required',
    ok: 'Deploy!',
    parameters: [choice(name: 'Branch to deploy', choices: '${branch1}\n${branch2}\n${branch3}', description: 'What branch you wont deploy?')]
    }
    echo "${env.BRANCHDEPLOY}"
  3. 然后我将使用 ${env.BRANCHDEPLOY} 为 git 部署选定的分支。

问题是我无法使用用户选择的变量来处理它。

我只需要让用户选择他想要从另一个 gitlab 存储库部署的分支。

最佳答案

您只是错误地在必须由脚本替换的变量周围加上单引号,因此只需将周围的单引号更改为双引号即可。

"${branch1}\n${branch2}\n${branch3}"

示例:第二阶段打印选定的选项

pipeline {
agent any

environment{
branch1 = 'stack'
branch2 = 'over'
branch3 = 'flow'
}

stages {
stage('Stage-One') {
steps {
script {
env.BRANCHDEPLOY = input message: 'User input required',
ok: 'Deploy!',
parameters: [choice(name: 'Branch to deploy', choices: "${branch1}\n${branch2}\n${branch3}", description: 'What branch you wont deploy?')]
}
}
}
stage('Stage-Two'){
steps{
sh "echo ${BRANCHDEPLOY}"
}
}
}

关于带有用户输入的 Jenkinsfile,选择中有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44389837/

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