У меня есть много вакансий Дженкинса для каждого выпуска, который мы выпускаем. Я хочу иметь возможность легко определять новую версию и был счастлив найти Свойства папки Вставка
Я определил свойство папки для версии:
После этого я определил пробное задание, которое использует определение папки и повторяет его значение.
.
Я запускаю его и получаю значение в журнале:
version: master
echo 'folder version: master'
folder version: master
Finished: SUCCESS
Теперь я добавил в задание определение SCM:
Но в журнале появляется ошибка. Как видите, $ folder_version не получила "главное" значение.
git rev-parse refs/remotes/origin/$folder_version^{commit} # timeout=10
git rev-parse refs/remotes/origin/refs/heads/$folder_version^{commit} # timeout=10
git rev-parse refs/heads/$folder_version^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Что мне здесь не хватает?
Спасибо за использование моего плагина. Что касается вашего вопроса, я верю в работу вольным стилем, шаг SCM не пытается интерполировать строку селектора, и поэтому вы можете видеть, что вывод консоли будет отображать это:
git rev-parse refs/remotes/origin/origin/$folder_version^{commit} # timeout=10
Где $folder_version
- предполагаемый заполнитель не интерполируется.
В качестве альтернативы переключитесь на задания конвейера и сделайте что-то вроде этого:
stage('Test SCM'){
node{
withFolderProperties{
echo("Branch is '${env.folder_version}'")
git branch: env.folder_version, credentialsId: 'my-github-credentials', url: 'https://github.com/my-org/my-project.git'
isUnix()?sh('ls -la'):bat('dir')
}
}
}
Надеюсь, это поможет.