-
[젠킨스] 작업내용 슬랙 알림DevOps/Jenkins 2023. 10. 31. 01:12
1. 플러그인 설치
공식 문서
https://plugins.jenkins.io/slack/#plugin-content-creating-your-app
Dashboard -> Manage Jenkins -> Plugins -> Available Plugins -> slack 검색, 설치
2. 슬랙 설정
슬랙앱 실행 -> 워크 스페이스 생성
https://api.slack.com/apps 이동 -> Create New App From -> From Scratch 실행
1. App Name : 단순히 앱이름 설정이다 ( 추후 수정 가능 )
2. Pick a workspace to develop your app in : 앱 선택
좌측 네비게이션에서 설정한 앱인지 확인 후 -> Basic Information 클릭
하단에 Display Information 목록으로 이동
1. App name 설정
2. 설명 넣기
3. 이미지, 백그라운드 설정
4. 우측 하단에 Save Changes 클릭하여 저장
다양한 젠킨스 이미지가 있음 크기 조절하여 사용 가능
https://www.jenkins.io/artwork/
1. 위로 스크롤 하여 Add features and functionality 우측에 화살표를 눌러서 펼친다
2. Permission 클릭
( 또는 좌측 네비게이션에 OAuth & Permissions 클릭 )
하단에 Scopes에서 Add an OAuth Scope를 클릭 -> chat:write, chat:write.customize, reactions:write 등을 등록한다.
각 scope들 정보는 아래 문서 참조
https://plugins.jenkins.io/slack/#plugin-content-creating-your-app
chat:write (필수)
워크스페이스내 채널에서 보일 default 이름 설정
App Home -> App Display Name -> Edit
좌측 네비게이션 Basic Information -> Install your app에서 워크스페이스에 install 한다
좌측 네비게이션 OAuth & Permissions -> Bot User OAuth Token 토큰을 따로 메모장에 복사하여둔다.
Dashboard -> Manage Jenkins -> System -> 하단 스크롤 Slack 탭 찾기
1. Workspace 이름 넣기
2. Credential에 secret text로 설정 후 Bot User OAuth Token 붙여넣기
3. Default channel / memeber id 란에 채널명을 넣는다.
4. Custom slack app bot user 체크 후 Test Connection으로 연결 여부 체크
3. pipeline에서 검증하기
pipeline step에 코드 넣기
메시지 코드는 공식문서 확인
slackSend(channel: "#build-image", color: "#FFFF00", message: "Hi Test")
예시 )
// Uses Declarative syntax to run commands inside a container. pipeline { agent { kubernetes { inheritFrom 'toryjdk17' } } stages { stage('clone and build') { parallel { stage('first project') { stages { stage('first project clone') { steps{ container('jenkins-jdk-17') { git branch: 'dev', url: 'https://github.com/JEONSEUNGREE/ecommerce-backend' slackSend(channel: "#build-image", color: "#FFFF00", message: "Hi Test") } } } stage('first project build') { steps { container('jenkins-jdk-17') { dir('.') { sh ''' echo 'start bootJar' ./gradlew clean bootJar ''' } } } } } } stage('second project') { stages { stage('second project clone') { steps{ container('jenkins-jdk-17-2') { git branch: 'dev', url: 'https://github.com/JEONSEUNGREE/ecommerce-frontend' } } } stage('second project build') { steps { container('jenkins-jdk-17-2') { dir('.') { sh ''' echo 'start bootJar' ''' } } } } } } } } } }
빌드 성공 후 로그에서 슬랙메시지 전송 확인
채널에서 메시지 확인
'DevOps > Jenkins' 카테고리의 다른 글
[젠킨스] 도커없이 K8S에서 도커 이미지 빌드 (0) 2023.11.09 [젠킨스] 깔끔한 UI/UX 플러그인 (0) 2023.10.30 [젠킨스] 쿠버네티스 agent 설정 (0) 2023.10.30 [젠킨스] 쿠버네티스에 젠킨스 설치 (0) 2023.10.29