PollSCM 설정을 통해 지속적으로 빌드 해보기

gobeul·2023년 9월 24일
0

Jenkins 사용해보기

목록 보기
7/10
post-thumbnail

인프런 Dowon Lee님의 Jenkins를 이용한 CI/CD Pipeline 구축 강의를 수강하며 작성한 내용입니다.

이번에는 젠킨스에서 사용자가 수동으로 버튼을 눌러서 빌드하는게 아닌 자동으로 빌드를 진행하는 방법에 대해 알아보자

cron job

자동으로 빌드을 위한 스케줄러 기능을 위해 cron job을 사용할 것이다.
cron은 유닉스 계열에서 시간기반으로 사용할 수 있는 스케줄러이다.


설정 - Build Tigger

젠킨스의 아이템 Configure를 보면 빌드 유발(Build Tigger)에 다음과 같은 옵션을 볼 수 있다.

  • Build periodically
  • poll SCM

두가지 모두 cron job을 이용하지만
Build periodically의 경우 코드상에 변경사항이 없어도 빌드를 진행한다.
반면 poll SCM 같은 경우 변경사항이 있을경우, 즉 우리는 git hub에서 코드를 가져오기 때문에 commit이 있을 경우에만 빌드를 다시 한다.

변경되었을 경우에만 빌드를 다시 진행하도록 poll SCM을 통해 진행하도록 하겠다!


poll SCM을 체크하고 Schedule에 * * * * * 을 입력하면 보이는 것 처럼 노란색으로 경고 문구가 나타난다. * * * * *는 각각 분(0~59), 시(0~23), 일(1~31), 월(1~12), 요일(0~6)을 나타나는데 모두 * 표시를 해줬기 때문에 이는 매분마다 진행한다는 것을 의미한다.

그래서 경고문으로 "너 정말 매 분마다 진행할꺼야?" 하고 묻는것이다.
실제로는 매분마다 진행할 일은 없겠지만 여기서는 테스를 위해서 매분 진행으로 해보자!


그림에 보이는 13번째 빌드는 내가 "지금 빌드" 버튼을 눌러 직접 실행한게 아닌, 깃헙에 코드를 바꾸고 커밋후에 젠킨스에서 스케줄러에 의해 자동으로 실행된 것이다.
빌드가 자동으로 실행되었고 바꾼 코드가 잘 적용 되었다.

서버에 바로 변경된 코드를 적용하는 것은 리스크가 있다.
소스코드안에 테스트 코드가 있어야 하며, 테스트 코드가 fail이 되었을 경우에는 빌드가 진행되지 않도록 해야한다.
따라서 CD(배포)에 있어 어느 선까지는 사용자가 개입하고 어느 선부터는 개입없이 자동으로 배포하는 설정이 추가적으로 해야될 필요가 있다.

profile
뚝딱뚝딱

0개의 댓글