如何使用 jenkins 变量作为执行命令
How to use jenkins variable as execute command
stage('Preparation') {
steps {
script{
if(Deployment == 'UAT'){
goals = 'mvn clean install -Denvironment=uat '
script_arg='''shutdown.sh uat | sleep 20 | startup.sh uat'''
}
else{
goals = 'mvn clean install -Denvironment=dev'
script_arg='''shutdown.sh dev | sleep 20 | startup.sh dev'''
}
}
}
}
stage('Build') {
steps{
sh goals
}
}
stage('Deploy') {
steps([$class: 'BapSshPromotionPublisherPlugin']) {
sshPublisher(
continueOnError: false, failOnError: true,
publishers: [
sshPublisherDesc(
configName: "ABC",
verbose: true,
transfers: [
sshTransfer(sourceFiles: "target/abcd.war",
removePrefix: "/target",
remoteDirectory: "/remote",
execCommand: '''shutdown.sh uat | sleep 20 | startup.sh uat''')
]
)
]
)
}
}
我是詹金斯的新手。我正在尝试设置管道。
我上面的代码运行良好,但我想根据环境传递执行命令 dev/uat
我在准备阶段创建了变量 script_arg 并想在部署阶段用作 execCommand
部署 --> 步骤 --> sshPublisher --> 发布者 --> sshPublisherDesc --> 传输
但是当我如下替换它时
execCommand: "${script_arg}"
这不起作用。
尝试在管道外定义变量并查看,如下所示。
def script_arg
pipeline {
stages {
stage() {}
stage() {}
...
}
}
stage('Preparation') {
steps {
script{
if(Deployment == 'UAT'){
goals = 'mvn clean install -Denvironment=uat '
script_arg='''shutdown.sh uat | sleep 20 | startup.sh uat'''
}
else{
goals = 'mvn clean install -Denvironment=dev'
script_arg='''shutdown.sh dev | sleep 20 | startup.sh dev'''
}
}
}
}
stage('Build') {
steps{
sh goals
}
}
stage('Deploy') {
steps([$class: 'BapSshPromotionPublisherPlugin']) {
sshPublisher(
continueOnError: false, failOnError: true,
publishers: [
sshPublisherDesc(
configName: "ABC",
verbose: true,
transfers: [
sshTransfer(sourceFiles: "target/abcd.war",
removePrefix: "/target",
remoteDirectory: "/remote",
execCommand: '''shutdown.sh uat | sleep 20 | startup.sh uat''')
]
)
]
)
}
}
我是詹金斯的新手。我正在尝试设置管道。 我上面的代码运行良好,但我想根据环境传递执行命令 dev/uat 我在准备阶段创建了变量 script_arg 并想在部署阶段用作 execCommand
部署 --> 步骤 --> sshPublisher --> 发布者 --> sshPublisherDesc --> 传输
但是当我如下替换它时
execCommand: "${script_arg}"
这不起作用。
尝试在管道外定义变量并查看,如下所示。
def script_arg
pipeline {
stages {
stage() {}
stage() {}
...
}
}