3

删除分支后,我想为作业创建的工件(例如 AMI、docker 图像、terraform 服务)等内容执行额外的清理代码。我正在使用声明性管道,是否有一个钩子或插件可以让我实现这一点?

4

2 回答 2

4

在 Pipeline 部分的Additional Behaviors下有一个选项。请注意,此处选择了来自 SCM 定义的管道脚本。

来自 SCM 的管道脚本

这也可以在带有结帐步骤的管道脚本中完成。 https://jenkins.io/doc/pipeline/steps/workflow-scm-step/

$class: PruneStaleBranch

使用 Jenkins Snippet Generator 生成的示例:

checkout([$class: 'GitSCM', branches: [[name: '*/master']], 
doGenerateSubmoduleConfigurations: false, extensions: [[$class: 
'PruneStaleBranch']], submoduleCfg: [], userRemoteConfigs: 
[[credentialsId: 'credential-id-here', url: 'git@github.com:my-
repo.git']]])
于 2018-02-22T21:53:11.207 回答
0

我还没有尝试过,但MultiBranch Action Triggers Plugin插件看起来可以让你这样做: https ://plugins.jenkins.io/multibranch-action-triggers

它说:

当多分支管道作业创建或删除管道作业时,此插件可以构建/触发其他作业。

您可以创建一个运行此插件触发的任何您需要的清理代码的清理作业。您在多分支管道作业上设置插件并指定要运行的附加作业。

如果我正确理解文档,那么它看起来像是SOURCE_PROJECT_NAME传递给您的清理作业的参数,您可以使用它来清理与该分支名称相关的内容。

于 2019-10-31T16:02:57.807 回答