【问题标题】:Jenkins multi branch pipelineJenkins 多分支管道
【发布时间】:2020-01-28 14:51:09
【问题描述】:
我有一个名为 feature/xyz 的分支。
现在我必须将一个文件从 filename.exe 命名为 filename_$BRANCH_NAME.exe
但这里的问题是,因为我的分支名称有正斜杠,所以会引发错误。
那么如何将我的文件命名为 filename_feature_xyz??
【问题讨论】:
标签:
jenkins
jenkins-pipeline
jenkins-plugins
jenkins-groovy
jenkins-cli
【解决方案1】:
下面的代码示例。本质上,您可以只使用字符串替换功能。但是为了满足您在示例中列出的约定的未知文件名,我们更进一步。
#!groovy
// Setup vars to replicate your questions specs
env.BRANCH_NAME = "feature/xyz"
String file = 'filename.exe'
// Replace any forward slash with an underscore
String branchName = (env.BRANCH_NAME).replace('/', '_')
// Split apart your current filename
List fileParts = file.tokenize('.')
// Construct the original filename, catering for multiple period usecases
String originalFileName = fileParts[0..-2].join('.')
// Seperate the extension for use later
String originalExtension = fileParts[-1]
// Combine into the desired filename as per your requirements
String newFileName = "${originalFileName}_${branchName}.${originalExtension}"