Необходимо передать git sha для проверки в многоотраслевой конвейер Jenkins. - PullRequest
0 голосов
/ 01 мая 2018

Можно ли использовать параметры, позволяющие пользователям передавать git sha в конвейер с несколькими филиалами, в то время как по умолчанию используется глава филиала? Также мне нужно было бы только эту функцию для главной ветви.

Я использую ...
Дженкинсфайл в коде
Дженкинс Декларативный трубопровод

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Мне удалось сделать это с помощью декларативных конвейеров со следующими ...

pipeline {
  options {
    skipDefaultCheckout()
  }
...
steps {
    script {
      if (GIT_REVISION=='HEAD') {
        checkout scm
      } else {
        checkout([$class: 'GitSCM',
            branches: [[name: "${params.GIT_REVISION}"]],
            doGenerateSubmoduleConfigurations: false,
            extensions: [],
            submoduleCfg: [],
            userRemoteConfigs: [[credentialsId: 'XXXXXXX', url: 'git@github.com:xxxxx/xxxxx.git']]
        ])
      }
      ...
    }
  }
}  
0 голосов
/ 02 мая 2018

Да, это возможно, но я думаю, что вы должны использовать скриптовые конвейеры вместо декларативных.

  • Если текущая ветвь является главной, вы настраиваете параметр для этой сборки (так как это не очень интуитивно понятно, я недавно написал статью в блоге ). Например, params.INPUT_REVISION будет хранить данную ревизию, и вы можете установить значение по умолчанию HEAD или использовать ее, если параметр еще не указан (например, для первого запуска).

  • Вы передаете эту ревизию шагу checkout(scm) в качестве параметра, чтобы она не извлекала текущую основную ветвь, а указанную ревизию.

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