Какой вариант будет лучшим для интеграции gitlab с Jenkins - PullRequest
0 голосов
/ 16 мая 2019

В настоящее время я использую файл 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 голосов
/ 17 мая 2019

Первое: Вы можете интегрировать Jenkins и любое управление исходным кодом (bitbucket, github, gitlab и т. Д.) С любым, что вам захочется: проект свободного стиля, сценарий конвейера или декларативный конвейер.

Относительно запускает сборку всякий раз, когда выполняется событие git , вам нужно прочитать или исследовать webhooks .

Этот ответ может помочь вамчтобы понять, что такое webhook и как реализовать базовый поток:

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

...