Webhook | Gitlab | jenkins管道|声明性语法

时间:2018-07-09 10:41:04

标签: jenkins jenkins-pipeline jenkins-declarative-pipeline

我正在尝试将Webhook与gitlab和jenkins集成。我已经通过使用URL的上游下游作业完成了它。 尝试通过声明式管道重新接收rece = rease时,我处于停滞状态

 pipeline {
  agent any
  stages {
    stage('fetchcodeFromGit') {
      steps {
        timeout(time: 30) {
          git(url: 'http:<<>>/JenkinsPipeline.git', branch: 'master', credentialsId: 'QualityAssurance', poll: true)
        }

      }
    }

任何人都可以提供文档或示例代码片段的帮助吗?

2 个答案:

答案 0 :(得分:1)

如果您选择管道脚本而不是声明性管道,那么这篇文章可能会对您有所帮助:

https://jrichardsz.github.io/devops/devops-with-git-and-jenkins-using-webhooks

步骤:

  • 在jenkins中配置所需的插件。
  • Jenkins用户和密码。
  • 创建一个将由您的git提供者触发的詹金斯工作。这项工作会发布一个可供使用的http网址。我们将webhook_url称为该URL。
  • 在某些存储库的git提供程序的webhook部分中配置webhook_url。
  • 测试此流程,将一些更改推送到您的git存储库,或使用comandline模拟它。

答案 1 :(得分:0)

您可以使用以下代码段:

pipeline {

options {
    gitLabConnection('your-gitlab-conn')
}

triggers {
    gitlab(
      triggerOnPush: false,
      triggerOnMergeRequest: true, triggerOpenMergeRequestOnPush: "both",
      triggerOnNoteRequest: true,
      noteRegex: "Jenkins please retry a build",
      skipWorkInProgressMergeRequest: false,
      ciSkip: false,
      setBuildDescription: true,
      addNoteOnMergeRequest: true,
      addCiMessage: true,
      addVoteOnMergeRequest: true,
      acceptMergeRequestOnSuccess: false,
      branchFilterType: "All",
      secretToken: "NOTVERYSECRET")
}

stages {
    ...

此处有更多详细信息:https://github.com/jenkinsci/gitlab-plugin