Я создал тестовый рабочий процесс, как показано ниже:Hung оповещение по электронной почте в Дженкинс трубопровода или Workflow
node("master") {
ws("/opt/mount1/jenkins/jobs/GoogleFlow/workspace/${env.BUILD_NUMBER}") {
try {
stage name: 'sync', concurrency: 3
echo "before sync"
sh '''touch buildFile
echo "This is from ${BUILD_NUMBER}" >> buildFile
cat buildFile'''
sh "sleep 5"
echo "after sync"
sh "date"
stage name: 'build', concurrency: 1
echo "before build"
sh "date"
sh '''sleep 10
cat buildFile'''
echo "build 1/3"
sh "sleep 5"
echo "build 2/3"
sh '''sleep 5
cat buildFile'''
echo "build 3/3"
sh "date"
stage name: 'test', concurrency: 3
echo "before test"
sh "date"
sh '''sleep 10
cat buildFile'''
sh "date"
stage name: 'delete', concurrency: 1
sh '''pwd
ls -al'''
//deleteDir()
//sh '''pwd
//ls -al'''
}
catch (err){
stage 'Send Notification'
mail (to: '[email protected]',
subject: "test",
body: "test");
}
}
}
Я пытаюсь получить уведомление по электронной почте с помощью Try-защелки. Я упомянул сообщение this, но когда дело доходит до стадии отправки уведомления, он просто сидит там.
Но если я использую старый способ работы Дженкинса, я могу получать электронные письма. Это показывает, что настройка SMTP работает. Ниже находится консольный выход, когда он висит
[Pipeline] Allocate node : Start
Running on master in /opt/mount1/jenkins/jobs/GoogleFlow/[email protected]
[Pipeline] node {
[Pipeline] Allocate workspace : Start
Running in /opt/mount1/jenkins/jobs/GoogleFlow/workspace/205
[Pipeline] ws {
[Pipeline] stage: sync
Entering stage sync
Proceeding
[Pipeline] echo
before sync
[Pipeline] sh
[205] Running shell script
+ touch buildFile
+ echo 'This is from 205'
+ cat buildFile
This is from 205
[Pipeline] sh
[205] Running shell script
+ sleep 5
[Pipeline] echo
after sync
[Pipeline] sh
[205] Running shell script
+ date
Tue Feb 2 22:54:52 UTC 2016
[Pipeline] stage: build
Entering stage build
Waiting for builds [204]
Canceled since #206 got here
[Pipeline] stage: Send Notification
Entering stage Send Notification
Proceeding
[Pipeline] mail
Любая идея о том, как исправить?
Дженкинс - 1,643 Mailer плагин - 1,11
Вы пытались повторно выбросить исключение после шага 'mail'? – amuniz
Это похоже на странное обходное решение. В общем, я не нашел еще легкого способа указать действия, которые нужно предпринять при неудаче, возможно, что ловушка для исключения - это вещь? – giorgiosironi