У меня есть проект Multibranch Pipeline, связанный с хранилищем github. Дело в том, что когда-то go когда мы нажимали «сканировать репозиторий сейчас», он строил все ветви, которые имели различия с веткой master / master35. Но в последнее время, когда мы нажимаем «сканировать репозиторий сейчас», он просто собирает 4-5 из 30 ветви и игнорируем другие.
Я проверил, и есть различия между теми ветками, которые Дженкинс игнорирует, и веткой master / master35. Если я нажимаю «построить сейчас» на тех ветвях, которые git игнорирует, то он строит правильно.
Это Jenkinsfile на каждой ветке:
node {
stage('checkout') {
if (env.BRANCH_NAME == 'master35') {
def jobs = []
Jenkins.instance.getAllItems(Job.class).each {
jobs.push(it.name)
};
jobs.each{
if (!it.endsWith('master35')){
try{
build 'DGF-MOODLE/'+it
}catch(Exception ex) {
println(ex)
}
}
}
}
}
stage('deploy') {
echo 'branch name ' + env.BRANCH_NAME
if (!env.BRANCH_NAME.startsWith("master") && !env.BRANCH_NAME.startsWith("develop") && !env.BRANCH_NAME.startsWith("master35") && !env.BRANCH_NAME.startsWith("develop35") && !env.BRANCH_NAME.startsWith("PR")) {
git url: "https://"+dgf_moodle_token+"@github.com/----/-----.git",
branch: env.BRANCH_NAME
sh 'git config --global user.name "-----"'
sh 'git config --global user.mail "-----"'
sh 'git merge origin/master35'
sh 'git push origin '+ env.BRANCH_NAME
}
}
stage('clean') {
cleanWs()
}
}
Я не эксперт по jenkins, поэтому Я даже не уверен, должен ли «скан-репозиторий сейчас» создавать ветку.
Не могли бы вы, ребята, сказать, что я могу сделать, чтобы построить ветку, когда я нажимаю «сканировать репозиторий сейчас» или любым другим способом? построить все ветви на одной работе?
спасибо!