Как опросить несколько SCM с использованием конвейера jenkins и создавать только измененные репозитории - PullRequest
0 голосов
/ 17 января 2020

У меня есть пара вопросов. Первый - с pollSCM и конвейером jenkins

У меня есть конвейер jenkins, который выполняет "извлечение" из 3 репо. Я также включил pollSCM. При этом конвейерный сценарий отслеживает все 3 репо и запускает задание, если какое-либо из репо изменяется?

Второй вопрос:

После проверки 3 репо в отдельных каталогах, я запускаю несколько скриптов упаковки в каждом каталоге. Есть ли способ проверить, изменился ли репозиторий с момента создания jenkins и запуска сценариев упаковки только в том случае, если репо изменилось?

Вот мой конвейерный сценарий jenkins: проверка 3 репо в 3 разных каталогах. Далее скрипт запускает упаковку в каждом каталоге.


triggers {pollSCM ('* * * * *')}

stage ('Checkout') {

  steps {
        dir('repo1') {
        checkout([
                    $class           : 'GitSCM',
                    userRemoteConfigs: [[
                          credentialsId: '123456',
                          name         : 'origin',
                          refspec      : '+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*',
                          url          : 'https://wwwin-github.xxxx.com/root/repo1'
                                        ]]
            ])
            }
            dir ('repo2') {
            checkout([
                    $class           : 'GitSCM',
                    userRemoteConfigs: [[
                          credentialsId: '123456',
                          name         : 'origin',
                          refspec      : '+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*',
                          url          : 'https://wwwin-github.xxxx.com/root/repo2'
                                        ]]
            ])
            }
            dir ('repo3') {
            checkout([
                    $class           : 'GitSCM',
                    userRemoteConfigs: [[
                          credentialsId: '123456',
                          name         : 'origin',
                          refspec      : '+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*',
                          url          : 'https://wwwin-github.xxxx.com/root/repo3'
                                        ]]
            ])
            }

          }

Спасибо -hyvrt

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