drno-reg
@drno-reg
см не кратко

Как правильно при запуске pipeline update sub модули?

Хочу в pipeline проекта переиспользовать template pipeline по-меньше которые как кирпичики лежат в sub модуле

в git есть repo с проектом и c jenkins-ci-examples

в проекте попробовал сначала вот так

pipeline {
    agent any
    stages {
        stage ('Checkout') {
            steps {
                deleteDir()
                checkout scm
                sh 'git submodule update --init --recursive jenkins-ci-examples'                
            }
        }
        stage('test import template') {
            steps {
                script{
                    sh "cd jenkins-ci-examples; ls -las";
                    jenkins_ci_examples.test_module = load "first_template.groovy"
                }
            }
        }

        stage('test run template') {
            steps {
                script{
                    jenkins_ci_examples.test_module.ansible_sskkeys("vars")
                }
            }
        }

    }
}


потом таким образом

node{
checkout([
    $class: 'GitSCM', 
    branches: scm.branches, 
    doGenerateSubmoduleConfigurations: false, 
    extensions: [[
      $class: 'SubmoduleOption', 
      disableSubmodules: false, 
      parentCredentials: true, 
      recursiveSubmodules: true, 
      reference: '', 
      trackingSubmodules: false
    ]], 
    submoduleCfg: [], 
    userRemoteConfigs: scm.userRemoteConfigs
  ])    
}


все хорошо, НО последние коммиты в sub repo jenkins-ci-examples не доходят при checkout е

p.s. сразу скажу
что опция Recursively update submodules вкл

Как решить эту проблему?
  • Вопрос задан
  • 10 просмотров
Пригласить эксперта
Ответы на вопрос 1
drno-reg
@drno-reg Автор вопроса
см не кратко
вопрос решился таким образом

sh "git submodule foreach --recursive git pull origin master";
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы