Я хочу, чтобы синтаксис конвейера jenkins запускал задание jenkins на приватном gitlab pu sh, также мне нужно передать некоторые параметры вместе с pu sh. Я могу добиться этого с помощью декларативных настроек, но мне нужен конвейерный синтаксис, чтобы сэкономить мое время для большинства конвейеров (150).
Рабочая модель
Декларативный конвейер
* Webhook - *
Установить webhook для интеграции с gitlab
This Вышеприведенный случай работает, но мне нужно выполнить настройки конвейера для того же самого, и, если возможно, мне нужно передать параметры в зависимости от имен веток хранилища, которые мне нужно выполнить на разных этапах.
Пробные конвейеры синтаксис
pipeline {
agent any
post {
failure {
updateGitlabCommitStatus name: 'build', state: 'failed'
}
success {
updateGitlabCommitStatus name: 'build', state: 'success'
}
}
options {
gitLabConnection('gitlabConnection')
}
triggers {
gitlab(triggerOnPush: true, triggerOnMergeRequest: true)
}
stages {
stage('Checkout test-git') {
steps {
checkout([$class: 'GitSCM', branches: [[name: 'test']], userRemoteConfigs: [[credentialsId: 'git-token-jenkins', url: "https://<repo-url>/test-jenkins.git"]]])
}
}
stage('Deploy') {
steps {
echo "Deploy applications "
}
}
stage("build") {
steps {
echo "hello world"
}
}
}
}
properties([pipelineTriggers([githubPush()])])
pipeline {
agent any
stages {
stage('Checkout test-git') {
steps {
checkout([$class: 'GitSCM', branches: [[name: 'test']], userRemoteConfigs: [[credentialsId: 'git-token-jenkins', url: "https://<repo-url>/test-jenkins.git"]]])
}
}
stage('Deploy') {
steps {
echo "Deploy applications "
}
}
stage("build") {
steps {
echo "hello world"
}
}
}
}