CI-CD/Jenkins

[Jenkins] Email 알림 받기

날래용 2024. 9. 2. 08:00

[Jenkins] Email 알림 받기


Jenkins를 통해 작업 상태에 대한 Email 알림을 받을 수 있습니다.
Jenkins 플러그인에서 Email 기능을 제공하는 Email Extension 플러그인을 사용하며 Email 알림에 대한 여러 설정을 할 수 있으며, 간단하게 Email 알림을 받을 수 있도록 설정해보겠습니다.

 

 


Email Extension 플러그인 설치

Jenkins 관리 -> Plugins -> Available plugins 메뉴에서 Email Extension 검색 후 플러그인을 설치합니다.


플러그인 설치 후 System Configuration 설정을 통해 Email 알림에 대힌 기본적인 설정을 할 수 있습니다.

 

 


Email System Configuration 설정

Jenkins 관리 -> System Configuration -> System 메뉴를 선택합니다.

 

 

Extended E-mail Notification 설정에서 Email 관련 설정을 진행합니다.
SMTP server 및 SMTP Port는 설정하고자 하는 Email 서버의 정보를 입력합니다.

Credentials는 Email 알림을 발송하는 계정의 정보를 입력합니다.


Gmail인 경우 Gmail 앱 비밀번호를 통해 Gmail API를 사용할 수 있으며 계정명과 Gmail 앱 비밀번호를 Username, Password 값에 각각 입력 후 저장 및 적용합니다.

 

Gmail 앱 비밀번호 발급 방법은 아래 링크를 참고하시기 바랍니다.
https://every-up.tistory.com/81

 

[기타] Gmail 앱 비밀번호 생성하기

[기타] Gmail 앱 비밀번호 생성하기Gmail 앱 비밀번호는 2단계 인증이 설정된 Google 계정에서 앱이나 기기가 Gmail API에 접근할 수 있도록 생성된 전용 비밀번호입니다. 보안 설정을 통해 Gmail 앱 비밀

every-up.tistory.com

 

 


Jenkins 코드

Email Extension 플러그인 설치를 통해 emailext 기능을 Jenkins에서 사용할 수 있게 되었습니다.
emailext은 기본적인 Email 제목, Email 내용, Email 수신자 등의 정보를 정의할 수 있으며 Email을 보낼 수 있습니다.

pipeline {
    agent any

    stages {
        stage('Mail-Test') {
            steps {
                emailext (
                    subject: "TEST Subject",
                    body: "Test Message",
                    to: "test@test.com"     
                )
            }
        }
    }

}
  • subject : Email 제목
  • body : Email 내용
  • to : Email 수신자 (optional)

해당 코드를 추가하여 Email 알림 테스트를 진행해보도록 하겠습니다.

 

 


Email 테스트

pipeline 실행이 완료되면 수신자(to) 주소로 Email이 발송됩니다.


설정한 emailext 기능의 내용으로 Email 제목 및 내용이 수신되었습니다.
해당 기능을 통해 다양한 메일 제목 및 내용과 수신자들에게 Email을 보낼 수 있습니다.

 

 


응용

 

환경 변수 사용

Email 제목 및 내용에 환경 변수 값을 추가하여 작업에 대한 구분을 Email 제목 및 내용을 통해 확인할 수 있습니다.

subject: "[{env.JOB_NAME}] [${env.TAG_NAME}] [${env.BUILD_ID}]"

 

mimType 변경

text/html 등의 타입으로 변경하여 Email 내용을 html 및 기타 형식으로 변경 후 Email을 보낼 수 있습니다.

mimeType: 'text/html'

 

Email 수신자 설정

수신자, 참조, 숨은 참조 설정을 할 수 있습니다.

to : 'test1@test.com, cc:test2@test.com, bcc:test3@test.com'

 

기타

  • 성공 실패 여부에 따른 이메일 전송
  • 첨부 파일 전송
  • 수신자 목록 관리

 


 

Jenkins에서 Email Extension 플러그인을 설치하고, System Configuration 설정을 통해 이메일 알림을 구성할 수 있습니다.


emailext 기능을 사용하여 이메일 제목, 내용, 수신자 등을 설정하고 Pipeline 코드에 추가하여 작업 상태에 대한 이메일 알림을 받을 수 있습니다. 환경 변수를 사용하여 작업에 대한 정보를 이메일 제목 및 내용에 포함시킬 수 있으며, 이메일의 mimType을 변경하여 HTML 형식의 이메일을 보낼 수도 있습니다. 또한, 수신자, 참조, 숨은 참조 설정을 통해 다양한 이메일 수신자를 지정할 수 있습니다.


이 외에도 성공, 실패 여부에 따른 이메일 전송, 첨부 파일 전송, 수신자 목록 관리 등의 기능을 활용할 수 있습니다.

 

지금까지 Jenkins에서 Email Extension 플러그인을 사용하여 이메일 알림을 설정하는 방법에 대해 알아보는 시간을 가졌습니다...! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://www.jenkins.io/doc/pipeline/steps/email-ext/