当删除分支时,我想为作业创建的工件(例如AMI,docker图像,terraform服务)执行额外的清理代码。我使用声明性管道,是否有允许我实现此目的的钩子或插件?
答案 0 :(得分:1)
在“管道”部分的 附加行为 下可以选择此选项。请注意,此处选择了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']]])
答案 1 :(得分:0)
我还没有尝试过,但是 MultiBranch Action Triggers插件插件看起来可以让您执行此操作: https://plugins.jenkins.io/multibranch-action-triggers
它说:
此插件可在管道作业时启用/触发其他作业 是由“多分支管道作业”创建或删除的。
您可以创建一个清理作业,该清理作业运行由此插件触发的所需清理代码。您在多分支管道作业上设置了插件,并指定了要运行的其他作业。
如果我正确理解了文档,则好像SOURCE_PROJECT_NAME
是一个参数,然后将其传递给您的清理作业,您可以使用该参数来清理与该分支名称有关的内容。