在steps里面定义一个script标签,无需定义,直接使用即可,下面是pipeline示例:
pipeline {
agent {
node {
label 'maven'
}
}
parameters {
string(name:'TAG_NAME',defaultValue: 'v1.0',description:'')
choice(name: 'APP_NAME', choices: ['gateway', 'sso'], description: '选择项目')
}
environment {
DOCKER_CREDENTIAL_ID = 'docker-id'
GITHUB_CREDENTIAL_ID = 'gitee-id'
}
stages {
stage ('checkout scm') {
steps {
checkout(scm)
script {
switch(APP_NAME) {
case "gateway":
projectName = "gateway"
sh 'echo 执行到gateway里面了'
break
case "sso":
projectName = "sso/sso-server"
sh 'echo 执行到sso里面了'
break
}
}
}
}
stage ('unit test') {
steps {
container ('maven') {
sh "echo 执行到$projectName里面了,注意一定要双引号才行"
}
}
}
}
}