哪个选项是将gitlab与Jenkins集成的最佳选择

时间:2019-05-16 15:45:57

标签: jenkins jenkins-pipeline gitlab-ci

当前,我正在为管道使用Jenkins文件。

import hudson.model.*
import hudson.EnvVars
@Library('pipeline-library')_

stage('Tag SVN') {
  node('build01') {
    if ("${env.TagBuild}" == 'true'){
       bat 'svn copy -r HEAD %RepoURL% %RepoTagsURL%/%RepoTagName% -m "Tagging at Revision"'
    }
  }
}

stage('Checkout') {
  node('build01') {
    if ("${env.Build_APP}" == 'true') {
      ws('c:\\Dev') {
        svnCheckout('${RepoURL}')
      }
    }
  }

}

stage('Build and Import DAR') {
  node('build01') {
    if ("${env.Build_APP}" == 'true') {
      visBuild3("C:\\Dev\\scripts\\Component.bld")
    }

  }
}

stage('Deploy') {  
    node('build01') {
    if ("${env.Build_Common}" == 'true') {
    script {
                    env.buildNumber = "${TagVersion}.Build${env.BUILD_NUMBER}_${ComponentTagName}"
                    env.packageid = "Applications/common/${env.buildNumber}"

                }
      xldDeploy serverCredentials: 'username', environmentId: 'Environments/AWS/Dev_Test_Envs/SysTest1/SysTest1_WildFly', packageId: env.packageid
    }
    }
  }  
} 

运行正常。目前,我正在使用groovy从SVN检出代码。

svnCheckout('${RepoURL}')

但是我想使它适用于Gitlab。我看了很多文档,但是到处都集成了自由样式项目,而不是管道代码。

我发现该文档对您有所帮助,但是它让我感到困惑的是,选择太多了。

https://github.com/jenkinsci/gitlab-plugin#global-plugin-configuration

我希望从简单的流程开始,只要我确实在git项目上提交并获取Jenkins构建的状态,就想触发一个构建。如果您有任何此类文章,可以请一些人帮我,或者从我应该从哪里开始指导我?

1 个答案:

答案 0 :(得分:0)

首先:您可以将Jenkins和任何源代码管理(bitbucket,github,gitlab等)与所需的任何内容集成在一起:自由样式项目,管道脚本或声明性管道。

每当执行git事件时触发构建相关,您需要阅读或研究 webhooks

此答案可以帮助您了解什么是webhook以及如何实现基本流程:

https://stackoverflow.com/a/53835514/3957754

相关问题