本文重點說下在pipeline下的配置:
pipeline {
agent { label 'master' }
options {
timestamps()
}
stages {
stage('deploy_test') {
when {anyOf {environment name:'env',value:'test';environment name:'env',value:'dev';environment name:'env',value:'daily'}}
steps {
ansiColor('xterm') {
ansiblePlaybook colorized: true, installation: 'ansible', inventory: 'hosts', playbook: 'jdk1.8/jdk_install_test.yml', extras: '--extra-vars env=${env}',sudoUser: null
}
}
}
stage('deploy_aliyun') {
agent { label 'aliyun' }
when {anyOf {environment name:'env',value:'uat';environment name:'env',value:'prod'}}
steps {
ansiColor('xterm') {
ansiblePlaybook colorized: true, installation: 'ansible', inventory: 'hosts', playbook: 'jdk1.8/jdk_install.yml', extras: '--extra-vars env=${env}',sudoUser: null
}
}
}
}
post {
always {
echo "done"
}
}
}
重點是標紅部分,可以是workspace的相對路徑,也可以是絕對路徑;
注意:上例中如果是uat或prod環境的話是通過跳板機來發布的,這裏必須保證跳板機上線創建$WORKSPACE這個目錄,不然會報找不到該路徑的錯誤。