仅在Jenkins实例上可用时执行Jenkins管道步骤

时间:2018-02-14 01:21:17

标签: jenkins-plugins jenkins-pipeline

我们正在使用Jenkins Multibranch项目构建我们的产品,该项目为构建指令定义了Jenkinsfile

部分步骤支持使用Jenkins插件调用外部服务。此类调用的示例是slackSend通过松弛完成/失败作业通知开发人员或step([$class: 'StashNotifier'])通知Stash / Bitbucket reg。集结的结果。

现在,同一个项目应该作为另一个团队/ Jenkins实例的分支运行,可能没有提到Slack / Stash或其他集成。

如果缺少上面提到的插件,我怎样才能实现不让Jenkins工作失败?

  1. 是否有可能在Jenkinsfile
  2. 中查看某个特定步骤是否可用
  3. 寻找将属性设置为Multibranch Pipeline Configuration本身的一部分的可能性,遗憾的是我找不到任何东西。如果可能,是否可以设置多分支管道范围的环境变量?
  4. 是否可以定制内置条件,例如现有分支机构when { branch 'master' }https://jenkins.io/doc/book/pipeline/syntax/#when
  5. 感谢您的支持,欢迎提出任何建议。

1 个答案:

答案 0 :(得分:1)

用catchError包围它:

catchError {
  slackSend ...
}

顺便说一句,如果您使用Bitbucket Branch Source Plugin,则根本不需要处理隐藏通知程序。这将使您的构建状态显示在Bitbucket中而不会更加轻松。