Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
pipeline {
agent any
stages {
stage('Checkout Repository') {
steps {
updateGitlabCommitStatus name: 'jenkins', state: 'running'
checkout([
$class: 'GitSCM',
branches: [[name: env.gitlabSourceBranch ?: "master"]],
userRemoteConfigs: [[
url: '{{gitlab_url}}/{{gitlab_project_name}}.git',
refspec: '+refs/heads/*:refs/remotes/origin/* \
+refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*'
]],
])
}
}
stage('Test Jenkins jobs can be generated') {
steps {
sh('tox')
}
}
stage('Update Jenkins jobs and setup gitlab webhooks') {
when {
// really update jenkins jobs configuration when pushing commits to master
// or when manually triggering the job from Jenkins UI
anyOf {
expression { !env.gitlabSourceBranch }
expression { "${env.gitlabSourceBranch}" == "master" }
}
}
steps {
script {
sh('tox -- update --delete-old')
build(
job: '/jenkins-tools/setup-gitlab-webhooks',
)
{% filter indent(width=4) %}
{%- include 'jobs/templates/includes/update-gitlab-commit-status.groovy.j2' -%}
{% endfilter %}