Перечислите все теги, используя ввод (Jenkinsfile) - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь перечислить все теги (GitLab) внутри выбора ввода, но я не знаю, как это сделать.

Что я хочу сделать, так это уметь выбирать тег и на его основе выполнять развертывание в различных средах.

Спасибо.

1 Ответ

0 голосов
/ 06 ноября 2018

Я предлагаю такое решение, работающее в декларативном конвейере с dsl:

  1. сцена с загрузкой репо
  2. разбирать теги на основе репо
  3. сцена с параметром выбора

КОД:

pipeline {
agent  any 
stages {

stage('PollSCM') {
    steps {
checkout([$class: 'GitSCM', branches: [[name: 'master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxx', url: 'repo']]])
script {
        tags = sh(script: "git tag --sort=v:refname | tail -5 ", returnStdout: true).trim()
}
}
}

stage('CHOICE TAG') {
    steps {
    script {
def tag_response = input message: 'blah blah tags',
parameters: [choice(choices: "${tags}",  description: 'blah', name: '')]
env.tag_response = tag_response
}

}
}

stage ('echo choose') {
    steps {
        echo "I choose: '${tag_response}'"
    }
}

}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...