아무거나

Docker를 이용한 CI 구축 연습하기 (젠킨스, 슬랙) 본문

Infra/DevOps

Docker를 이용한 CI 구축 연습하기 (젠킨스, 슬랙)

전봉근 2019. 6. 10. 10:24
반응형

1. Task 실행 테스트를 위해 간단한 Task만 build.gradle에 추가

   [build.gradle]

 repositories {
   ....
   
   task print() {
		doLast {
			println "codecommit push complete"
		}
   }
}

 

2. sudo docker run -p 9000:8080 -v /docker/jenkins:/var/jenkins_home -u root -d jenkins:2.60.3

   ex) -v /docker/jenkins:/var/jenkins_home 은 /docker/jenkins의 실제 서버에 docker 컨테이너의 /var/jenkins_home 폴더가 공유된다.

       차후 jenkins에 문제가 생겼을때 해당 경로에 -v옵션을 줘서 실행시키면 데이터 유지가 가능하다.

 

3. jenkins접속하고 Freestyle Project을 선택하여 OK클릭

   - name : ws_internal_api_live

 

4. 해당 item 세팅

   - git 입력

   - 빌드유발 : GitHub hook trigger for GITScm polling

   - 바로아래 Build 에서 Execute shell 선택

     ** 이미 프로젝트에 gradle 실행파일인 gradlew가 포함되어있기 때문에 별도로 gradle을 설치하지 않고 gradlew를 사용하도록 작성하겠습니다.

     [command]

     chmod +x gradlew

     ./gradlew clean print

 

     보시는것처럼 clean 수행 후, 이전에 작성한 task인 print를 수행하도록 하였습니다.

     이러면 빌드 수행시 print가 수행되었는지 확인할 수 있겠죠?

     마지막 저장까지 하시면 젠킨스 설정은 이제 끝이났습니다.

 

5. 이제 jenkins 컨테이너에 접속하여 권한을 변경한다.

   - jenkins가 설치된 경로의 소유권을 jenkins:jenkins로 변경한다.

 

6. slack 채널을 생성한다.

 

7. https://wmp-new-biz-dev.slack.com/apps 그리고 젠킨스에서 사용할 인증 토큰을 생성하기 위해 브라우저에서 방금 만든 슬랙 url/apps로 접속하겠습니다.

 

8. 검색어에 jenkins CI로 검색 후 install (=add configuration)

   - 그럼 페이지에서 젠킨스와 어떻게 연동하면 되는지 상세하게 가이드가 보여진다. 보고 따라하자.

   - jenkins 플러그인에서 Slack Notification를 설치

   - 이때 step3의 Base URL과 Integration Token을 복사해놓습니다.

 

9. jenkins관리 -> 시스템 설정에서 8에서 복사한 애들을 붙여넣는다.

   - Base URL, Integration Token, Channel 입력 후 Test Connection 을 클릭하여 슬랙에 테스트 메세지가 잘 출력되는지 확인 잘되면 저장

 

10. 빌드할 프로젝트에 설정 페이지에 들어가서 빌드 후 조치 클릭

    - 빌드 후 조치 추가에서 Slack Notifications 클릭

    - 빌드 실패/성공시에만 메세지보내는걸 설정하는 기준으로 Notify Failure랑 Notify Success를 체크하고 저장​

반응형
Comments