개요
주기적으로 실행해야 하는 젠킨스 프로젝트가 있다. 기존에는 KST 기준 매주 화요일 오후 2시 (UTC 05시)에 동작해야 했는데, 스케쥴링 주기가 아래처럼 변경되었다.
- KST 매주 화요일 오전 11시 (UTC 화요일 02시)
- KST 매주 금요일 오전 8시 (UTC 목요일 23시)
한 프로젝트에 여러 스케쥴을 설정할 수 있나……? 확인해본다.
주기적 빌드(스케쥴링) 설정
Jenkins 프로젝트의 스케쥴링을 설정하는 방법은 다음과 같다.
1. 프로젝트 > 구성으로 접근
2. 빌드 유발 > Build periodically 체크 박스 선택
Build periodically를 선택하고 스케쥴 설정은 cron 형식으로 지정한다.
스케쥴링 추가 설정
보통 cron 형식의 스케쥴을 crontab에서 많이 사용하다보니 한 프로젝트에 cron 설정을 여러 개 설정할 수 있는지, 아니면 요구사항에 맞는 cron 표현식을 한 줄로 작성해야 하는지 고민을 했었다. 근데…… Schedule 입력란이 멀티라인 박스인 건 다 의미가 있었다.
한 줄이 cron 표현식 하나이므로 여러 cron 표현식을 적용해야한다면 개행문자를 기준으로 cron 표현식을 나열하면 된다.
따라서 UTC 기준 매주 화요일 오전 11시, 매주 목요일 오후 23시에 프로젝트를 빌드해야 한다면 다음과 같이 입력하여 적용하면 된다.
스케쥴링 동작 확인
의도한 대로 UTC 기준 화요일 2시에, 목요일 오후 11시에 동작하는 모습을 확인할 수 있다.
참고
1. 입력한 Schedule이 빈 줄이거나 #로 시작하는 행(주석)은 무시된다.
2. @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly 등의 설정을 지원한다.