如何在脚本化管道中触发对分支提交的构建

时间:2020-07-08 14:21:21

标签: jenkins

触发器{pollSCM('H * / 4 * * 1-5')}将此项工作合并到分支 我看到我们有3个触发器选项,这似乎是声明性的

  • 玉米
  • pollScm
  • 上游

在脚本管道中的地方是这样的 properties([pipelineTrigger([triggers('gitPush')])]) 要么 properties([pipelineTriggers([githubPush()])]) //通过这个,我还应该在Jenkins实例上启用一个选项

2 个答案:

答案 0 :(得分:0)

您还可以使用Generic Webhook Trigger插件。

您将需要在 github Jenkins Pipeline 中创建一个 webhook ,如下所示。

triggers {
         GenericTrigger( genericVariables: [
             [defaultValue: '', key: 'commit_author', regexpFilter: '', value: '$.pusher.name'],
             [defaultValue: '', key: 'ref', regexpFilter: '', value: '$.ref']
         ],
         causeString: '$commit_author committed to $ref',
         printContributedVariables: false,
         printPostContent: false,
         regexpFilterText: '$ref',
         regexpFilterExpression: 'refs/heads/develop',
         token: '12345'
   }

希望这会有所帮助。

答案 1 :(得分:0)

在您的Jenkinsfile中使用类似的内容。仅使用您需要的那些选项。删除不需要的内容。

pipeline {
  agent any 

  triggers {
    github(
      triggerOnPush: true,
      triggerOnMergeRequest: true,
      triggerOpenMergeRequestOnPush: "source",
      branchFilterType: "All",
      triggerOnNoteRequest: false)
  }
  stages {
  ...
 }
}

注意:确保在github和jenkins之间完成了所有的webhook配置。并在詹金斯上安装了webhook plaugin