NOTICE 




  

젠킨스는 빌드 스케쥴을 설정할 때 cron syntax를 따른다.


각 라인은 아래와 같이 5개의 필드를 탭키나 공백으로 구분해서 써주면 된다.


분    시    일    월    주


또한 한 필드에서 여러개의 값을 지정하고 싶은 경우에는 아래와 같은 오퍼레이터를 사용하면 된다.

('주'의 경우 0과 7은 일요일을 의미한다.)


*                          : 모든 가능한 값

M-N                     : 범위를 지정

      M-N/X 또는 */X    : X라는 간격을 지정

A,B,C,...,Z             : 여러개의 값을 열거


주기적으로 스케쥴되는 태스크를 지정하기 위해서는 'H' 심볼을 사용해야 한다. 랜덤한 값 정도로 생각하면 된다.

아래의 예를 보면 이해가 쉽다.


예를 들어 보자.


매시각 정각에 빌드를 하려면 아래와 같이 하면 된다.

0 * * * *

이렇게 지정하면 1시 정각, 2시 정각, ... 뭐 이런 식으로 실행이 될 것이다.


1시간 간격으로 빌드를 하려면 아래와 같이 하면 된다.

H * * * *

이렇게 지정하면 가령 1시 42분, 2시 42분, ... 뭐 이런 식으로 실행이 될 것이다.


위 두가지 방법 0 * * * *과 H * * * *의 차이점은 무엇일까?


0 * * * *로 스케쥴을 지정한 Job이 많은 경우, 모든 작업이 정확히 정각에 빌드를 실행하므로 순간적으로 빌드 장비의 리소스 사용이 급격히 늘어난다. 하지만 H * * * *로 지정한 경우에는 1시간 간격으로 실행한다라고만 지정했으므로 젠킨스가 내부적으로 빌드 시간을 결정해서 빌드를 하므로 부하가 골고루 분산되는 효과를 얻을 수 있다.  그러므로 주기적으로 실행하는 빌드가 있다면 0 * * * * 처럼 시간을 직접 지정한 방식 보다는 H * * * *가 제한된 리소스를 가진 빌드 환경에서 보다 효과적이다.



좀더 예를 들면...



하루 간격으로 빌드를 하려면 아래와 같이 하면 된다.

H H * * *


20분 간격으로 빌드를 하려면 아래와 같이 하면 된다.

H/20 * * * *

이렇게 설정하면 예를 들어 7시3분, 7시23분, 7시43분 뭐 이린 식으로 실행이 될 것이다. 


일요일밤 밤 11시에 빌드하고자 한다면 아래와 같이 하면 된다.

00 23 * * 0


매 시간 전반 30분에 10분 간격으로 빌드를 하려면 아래와 같이 하면 된다.

H(0-29)/10 * * * *

즉, 범위와 간격을 모두 지정하면 된다.


월요일부터 금요일까지 오전 9시부터 오후 4시까지 2시간 간격으로 빌드를 하려면 아래와 같이 하면 된다.

H 9-16/2 * * 1-5

1-5는 월요일부터 금요일임.


1월부터 11월까지 각 월의 1일과 15일에 하루 한번 빌드를 하려면 아래와 같이 하면 된다.

H H 1,15 1-11 *


또한 @yearly, @annually, @monthly, @weekly, @dailiy, @midnight, 그리고 @hourly와 같이 자주 사용하는 것들에 대해 별칭을 제공한다.


처음엔 어려운 것 같지만 규칙만 이해하면 쉽다. 뭐 알면 어려운게 뭐가 있겠냐마는... -_--;;;


* 위의 예제는 젠킨스의 도움말을 참조하였다.


  
트랙백   |  댓글   |

최근댓글
최근트랙백
fotowall :: ncloud RSS Feeds today :    yesterday :
total :