删除 Jenkinsfile 中字符串中的尾随连字符
Remove trailing hyphen in a string in a Jenkinsfile
在我的项目中,分支有时会有一个连字符。这是由于 Jira 奇特的命名过程。一个分支可能会自动命名为 PROJ-3421-create-a-login-
发生这种情况是因为 Jira 正在砍掉句子的其余部分并在末尾留下一个连字符。
这个尾随的连字符弄乱了 Jenkins。我正在想办法去掉它。
我正在尝试这样的事情。这不是有效代码。在这一步之后,该值将用于脚本中。
我们如何去除 Jenkinsfile 中的尾随连字符?
pipeline {
environment {
imageName = "example.org/myapp/myapp-${env.BRANCH_NAME.toLowerCase()}"
}
agent any
stages {
stage('Fixup Variables') {
steps {
script {
imageName = StringUtils.stripEnd(imageName, "-")
}
}
}
}
}
最简单的方法是使用正则表达式字符串替换。正则表达式将匹配字符串末尾的任何 -
字符。我还建议修改 environment
指令中的字符串以使其更清晰并保证管道内的范围:
environment {
imageName = "example.org/myapp/myapp-${env.BRANCH_NAME.toLowerCase().replace('-$', '')}"
}
在我的项目中,分支有时会有一个连字符。这是由于 Jira 奇特的命名过程。一个分支可能会自动命名为 PROJ-3421-create-a-login-
发生这种情况是因为 Jira 正在砍掉句子的其余部分并在末尾留下一个连字符。
这个尾随的连字符弄乱了 Jenkins。我正在想办法去掉它。
我正在尝试这样的事情。这不是有效代码。在这一步之后,该值将用于脚本中。
我们如何去除 Jenkinsfile 中的尾随连字符?
pipeline {
environment {
imageName = "example.org/myapp/myapp-${env.BRANCH_NAME.toLowerCase()}"
}
agent any
stages {
stage('Fixup Variables') {
steps {
script {
imageName = StringUtils.stripEnd(imageName, "-")
}
}
}
}
}
最简单的方法是使用正则表达式字符串替换。正则表达式将匹配字符串末尾的任何 -
字符。我还建议修改 environment
指令中的字符串以使其更清晰并保证管道内的范围:
environment {
imageName = "example.org/myapp/myapp-${env.BRANCH_NAME.toLowerCase().replace('-$', '')}"
}