如何根据分支在Jenkinsfile中设置一些属性?

问题描述 投票:0回答:1

我需要根据多个分支在 Jenkinsfile 中设置一些属性。目前我正在使用以下代码行来完成此任务:

if (BranchType == 'dev') {
    env.ID='env123'
} else if (BranchType == 'beta') {
    env.ID='envbeta12'
} else if (BranchType == 'rel') {
    env.ID='envrel45'
} else {
    env.ID='test'
}

我想知道,还有其他聪明的方法来处理这种情况吗?

jenkins jenkins-pipeline
1个回答
0
投票

您所拥有的是最灵活的形式,但如果您绝对确定您只需要匹配字符串:

def mapBranchToId = [
    'dev': 'env123',
    'beta': 'envbeta12',
    'rel': 'envrel45',
]
env.ID = mapBranchToId.get(branchType) ?: 'test'

也许将其变成一个函数以保持地图和默认值接近。或者,如果您希望将来匹配正则表达式,则可以使用

switch

def mapBranchToId(branchType) {
    switch(branchType) {
        case 'dev':
            return 'env123'
        case 'beta':
            return 'envbeta12'
        case 'rel':
            return 'envrel45'
        default:
            return 'test'
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.