Joa*_*ira 5 continuous-integration continuous-deployment jenkins jenkins-pipeline jenkins-2
我们希望使用 Jenkins 生成特定项目里程碑的发布/部署。当标签被推送到 Git 存储库时,是否可以触发 Jenkins 管道(在 Jenkinsfile 或 Groovy 脚本中定义)?
我们托管了一个私有的 Gitlab 服务器,因此 Github 解决方案不适用于我们的案例。
这是目前管道/多分支工作流程中非常缺乏的东西。在此处查看相关票证:https : //issues.jenkins-ci.org/browse/JENKINS-34395
如果您不反对使用发布分支而不是标签,您可能会发现这样做更容易。例如,如果您决定将所有以 开头的分支release-都视为“发布分支”,则可以...
if( env.BRANCH_NAME.startsWith("release-") ) {
// groovy code on release goes here
}
Run Code Online (Sandbox Code Playgroud)
如果您需要使用后面的名称release-,例如release-10.1变成10.1,只需创建一个像这样的变量......
if( env.BRANCH_NAME.startsWith("release-") ) {
def releaseName = env.BRANCH_NAME.drop(8)
}
Run Code Online (Sandbox Code Playgroud)
这两个可能都需要一些方法白名单才能正常工作。
| 归档时间: |
|
| 查看次数: |
6210 次 |
| 最近记录: |