오늘도 한 뼘 더

[Jenkins] Jenkins Pipeline - 결과에 따라 메세지 보내기 본문

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
반응형
Comments