DevOps & Infra/Jenkins
[Jenkins] Jenkins Pipeline - 결과에 따라 메세지 보내기
나른한댕댕이🐶
2023. 11. 20. 13:33
728x90
반응형
Jenkins job에 대해서 pipeline으로 작성을 할 때 빌드 및 배포에 대한 결과에 따라서 다른 작업을 두 가지 방법으로 진행할 수 있다.
# try / catch 사용하기
pipeline {
agent any
stages
{
stage('Checkout')
{
steps
{
script
{
try
{
build job: 'jenkins_job', parameters: [ string(name: 'parameter_name', value: "${parameter_value}")]
} catch (e)
{
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')
{
sh "exit 0"
echo "error"
}
echo 'TEST Fail! But Build Result not Fail!'
}
}
}
}
# post 사용하기
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git branch: "${params.BRANCH}",
credentialsId: 'test',
url: 'git@gitlab.com@test.git'
}
}
stage('Build') {
steps {
script {
echo "Build"
}
}
}
stage('Deploy') {
steps {
script {
echo "Deploy"
}
}
}
}
post {
success {
echo "success"
sh 'curl -s -X POST -H "Content-Type: application/json" -d '{contents}''
}
failure {
echo "fail"
sh 'curl -s -X POST -H "Content-Type: application/json" -d '{contents}''
}
}
}
728x90
반응형