У нас есть репо, которое содержит несколько проектов, и всякий раз, когда мы выпускаем наш скрипт, все снимки меняются с конкретными версиями.
, что может привести к триггеру для создания задания Дженкина.
В настоящее время я использую работу и перемещаюсь по списку проектов и ограничиваюсь следующим сценарием оболочки.
- Как я могу добиться того же в декларативном конвейере для раздельного создания подпроектов и определения автора изменений?
Если я запускаю вручную, можно ли декларативно определить, что код получил изменение?
для файла в cat projects-list.txt; do if test -d $ file; то
echo "Checking project $file"
AUTHOR=$(git log -1 --format='%an' -- "$file")
if [ "${AUTHOR}" != "release" ]; then
echo "Detected changes in project $file"
cd $file
echo "Building project $file"
mvn clean install -U`
Я также попробовал следующий скрипт, но переменные печатают ноль, я тестирую с помощью опции "конвейерный скрипт" плагина конвейера. (Встроенный скрипт)
pipeline {
agent any
stages {
stage ('checkout') {
steps {
git url: 'https://my.com/scm/java/my.git'
}
}
stage('Build') {
steps {
echo 'Building.. branch'+env.BRANCH_NAME
echo env.CHANGE_AUTHOR
echo env.CHANGE_AUTHOR_DISPLAY_NAME
}
}
}
}