도대체뭐가문제임

Android 프로젝트 CI/CD(Docker, Jenkins)[6] - Slack에 APK업로드 본문

개발 기타

Android 프로젝트 CI/CD(Docker, Jenkins)[6] - Slack에 APK업로드

뭐가문제임 2021. 6. 18. 14:57

이번 단계에서는 Jenkins의 앱 빌드 결과를 Slack으로 전달하고

그와 동시에 빌드된 APK를 Slack의 특정 채널에 업로드 하는 법을 설명한다.

기존에 테스트를 위해 앱을 빌드하고 빌드한 APK를 직접 공유하던 방식을 자동화하는 것이다.

 

Slack의 채널에 Jenkins의 빌드결과를 받아보기 위해서는 빌드결과를 받고 채널에 알리는 기능을 하는 앱을 추가해야한다.

단순히 빌드 시작, 성공, 실패 등의 알림을 받기만 원한다면 Jenkins CI 라는 앱을 추가하면 되고

알림도 받고 빌드된 APK도 업로드하고싶다면 파일쓰기권한이 추가된 커스텀 앱을 만들어 추가해야한다.

 

Jenkins CI앱을 추가해서 알림을 받는 방식은 다음과 같다.

 

1. Slack을 열어 알림을 제공할 채널 세부정보로 이동한다.

2. 통합 탭으로 이동해 앱 추가 버튼을 클릭한다.

 

3. Jenkins CI를 검색해 앱을 설치한다.

4. Slack에 추가 버튼을 클릭한다.

5. 알림을 포스트할 채널을 선택하고 Jenkins CI 통합 앱 추가 버튼을 클릭한다.

 

6. 3단계에서 생성된 팀 하위 도메인통합 토큰 자격 증명 ID를 저장한다. 기타 원하는 설정을 마치고 설정 저장을 클릭한다.

     Jenkins에서 통합토큰 자격 증명 ID를 활용해 Credential을 생성하고 팀 하위 도메인채널명을 기입해 설정을 하게 된다.

 

 

7 .Jenkins에서 Jenkins 관리 -> 플러그인 관리로 이동하고 Slack Notification 플러그인을 설치한다.

 

 

8. Jenkins 메인화면으로 돌아가 빌드할 아이템 -> 구성으로 이동한다.

 

 

9. 가장 하단에 있는 빌드 후 조치에서 빌드 후 조치 추가를 클릭하고 Slack Notification을 선택한다.

 

 

10. 원하는 알림의 종류를 선택하고 고급 버튼을 클릭한다.

 

 

11. 여기서 빌드결과를 전달할 Slack의 Workspace와 토큰, 채널을 설정한다. 

이 방법은 해당 아이템에 대해서만 연결설정이 이루어진다.

Jenkins 관리 -> 시스템 설정 -> Slack에 대한 설정을 하면 전체 아이템에 대한 기본값 설정을 할 수 있다.

먼저 Workspace에 팀 하위 도메인을 입력하고 Credential의 Add버튼을 클릭한다.

 

12.

Kind -> Secret text

Secret -> 통합 토큰 자격 증명 ID

ID -> Credential 구분을 위한 적절한 ID

입력 완료 후 Add를 클릭한다.

 

 

13. Credential에 방금 추가한 Credential을 적용하고 Channel / member-id 에 슬랙 채널명을 입력한다.

 

 

14. Test Connection 버튼을 클릭해 연결상태를 확인하고 저장한다.

 

 

15. 앱을 빌드해보면 Slack의 해당 채널에 빌드 시작, 빌드 성공 알림이 오는 것을 확인할 수 있다.

Comments