Jenkinsfile:修剪选择参数并将其传递给stage
下面是我正在使用的詹金斯文件。但现在我需要根据环境选择ID,因为根据环境记住帐户ID并不容易。 当我选择sdbx选择1807402234时,是否有一种方法可以添加到Jenkins文件中。请建议 或者,如果我使用下面的选择参数,那么在进入阶段时是否有办法修剪ID参数Jenkinsfile:修剪选择参数并将其传递给stage,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,下面是我正在使用的詹金斯文件。但现在我需要根据环境选择ID,因为根据环境记住帐户ID并不容易。 当我选择sdbx选择1807402234时,是否有一种方法可以添加到Jenkins文件中。请建议 或者,如果我使用下面的选择参数,那么在进入阶段时是否有办法修剪ID参数 choice( name: 'ID', choices: [ 'sdbx-1807402234', 'devl-5187460678', 'test-891137040'] ) 注意:我需要环境和ID参数。我也是je
choice(
name: 'ID',
choices: [ 'sdbx-1807402234', 'devl-5187460678', 'test-891137040']
)
注意:我需要环境和ID参数。我也是jenkins groovy的乞丐
我的詹金斯档案
def deploy(env) {
step([$class: 'UCDeployPublisher',
siteName: siteName,
deploy: [
$class: 'com.urbancode.jenkins.plugins.ucdeploy.DeployHelper$DeployBlock',
deployApp: appName,
deployEnv: 'DEV',
deployVersions: "${compName}:${version}",
deployProc: simpleDeploy,
deployOnlyChanged: false,
deployReqProps: "ID=${params.ID}"
]])
parameters {
choice(
name: 'ENVIRONMENT',
choices: [ 'sdbx', 'devl', 'test' ]
)
choice(
name: 'ID',
choices: [ '1807402234', '5187460678', '891137040']
)
stage (DEV') {
steps {
script {
if (params.ENVIRONMENT == "dev"){
deploy('devl') ===> this will call my deploy function
}
}
}
}
是的,您可以通过使用
split
功能来实现这一点。PARAMS=PARAMS.ID.split(“-”)
例如:
def PARAMS = []
pipeline {
parameters
{
choice(
choices: ['sdbx-1807402234', 'devl-5187460678', 'test-891137040'],
name: 'ID'
)
}
agent any
stages {
stage (DEV') {
steps {
script{
// Split choice parameter selected ID by '-'
PARAMS = params.ID.split("-")
// Get environment name selected
def environment = PARAMS[0]
// Get ID selected
def id = PARAMS[1]
println ("environment is : ${environment}")
println ("id is : ${id}")
if (environment == "dev"){
deploy('devl') ===> this will call my deploy function
}
}
}
}
}
输出:
@wlg这对你有用吗