По сути, мы занимаемся разработкой основной ветки разработки и располагаем множеством сервисов в одном каталоге.
У меня есть задание Jenkins, которое запускается через веб-хук GitHub и которое будет выполнять некоторые действия только в случае изменения определенного каталога этого репозитория:
pipeline {
agent any
stages {
stage('Building') {
when { changeset "subdirectory/*"}
steps {
-- do whatever is configured
}
}
stage('Deploying to Dev') {
when { changeset "subdirectory/*"}
steps {
-- do whatever is configured
}
}
}
}
Эта часть работает отлично. В моем другом Jenkinsfile, который мы запускаем вручную, у меня также есть это, чтобы отправить уведомление в Slack:
post {
success {
slackSend channel: '#my-notif-channel',
color: 'good',
message: "Yay ! "
}
failure {
slackSend channel: '#my-notif-channel',
color: 'danger',
message: "Nay !"
}
}
Проблема в том, что независимо от того, было ли изменение в этом каталоге или нет, уведомление будет отправлено. Есть ли способ включить этот блок только при изменении в моем подкаталоге?