Jenkins Scheduling Format

Jenkins에서 빌드 스케줄을 설정할 Cron의 포맷을 따라서 설정할 수 있습니다.

* * * * *
| | | | | 
| | | | +---- Day of the Week   (range: 1-7, 1 standing for Monday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month  (range: 1-31)
| +---------- Hour              (range: 0-23)
+------------ Minute            (range: 0-59)

실제 Cron 포맷과 다르게 Jenkins의 스케줄링 표현에선 위와 같이 Year에 대한 표현이 빠진 5개의 시간으로 스케줄링을 표현합니다. 각각의 포맷에 맞는 숫자를 통해서 스케줄을 표현할 뿐만 아니라 오퍼레이터를 사용하여 다양한 스케줄링을 표현할 수 있습니다.

* : 범위를 전체로 지정
H : 범위를 고정되지 않은 특정 값으로 지정
`A`-`B` : 범위를 A에서 B로 지정
`범위`/`X` : 간격을 X로 지정
`A`,`B`,`C` : A, B 또는 C 값으로 지정

예시를 통해서 더 자세하게 알아봅시다.

예시

* * * * * // 매 분 빌드가 수행

0 * * * * // 매 시간 정각에 빌드
H * * * * // 한시간 간격으로 빌드
H H * * * // 하루 간격으로 빌드

H/15 * * * * // 매 시간 15분 간격으로 빌드

H(0-14) * * * * // 매 시간 0분에서 15분 사이에 빌드

H(0-29)/10 * * * * // 매 시간 전반 30분동안 10분 간격으로 빌드

H 9-16/2 * * 1,5 // 월요일과 금요일에 오전 9시부터 오후 4시까지 2시간 간격으로 빌드