Hus*_*les 3 jenkins jenkins-pipeline
我想使用新的 Jenkinsfile 来完成新的工作。
我有一个独立存储库中的 jenkinsfile:
我通过 bash 从另一个 GitLab 存储库获取分支git ls-remote。我将它们存储在变量中:branch1、branch2、branch3...
然后我想在用户输入选择中使用这些变量
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}"
Run Code Online (Sandbox Code Playgroud)
然后我将使用${env.BRANCHDEPLOY}git 部署选定的分支。
问题是我无法使用用户选择中的变量来处理它。
我只需要让用户选择他们想要从另一个 GitLab 存储库部署的分支。
您只是犯了一个错误,在必须由脚本替换的变量周围加上单引号,因此只需将单引号更改为双引号即可。
"${branch1}\n${branch2}\n${branch3}"
Run Code Online (Sandbox Code Playgroud)
示例:第二阶段打印所选选项
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}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
9509 次 |
| 最近记录: |