[jenkins] Jenkins에서 작업을 예약하려면 어떻게합니까?

Jenkins에 새 작업을 추가했는데 정기적으로 예약하고 싶습니다.

에서 구성 작업 , 나는 “빌드 정기적으로”확인란을 선택하고과에서 일정 텍스트 필드 식을 추가 :

15 13 * * *

그러나 예정된 시간에는 실행되지 않습니다.

작업을 예약하는 올바른 절차입니까?

여기에 이미지 설명을 입력하십시오

작업은 오전 4시 20 분에 실행되어야하지만 실행되고 있지 않습니다.



답변

스케줄 기간을 설정하면 15 13 * * *Jenkins에게 매년 13 시간의 15 분에 매년 매달 빌드를 스케줄하도록 지시합니다.

Jenkins는 cron 표현식을 사용 했으며 다른 필드는 다음과 같습니다.

  1. MINUTES 1 시간 후의 분 (0-59)
  2. 하루의 시간 (0-23)
  3. DAYMONTH 한 달의 일 (1-31)
  4. 년 1 월의 월 (1-12)
  5. DAYWEEK 0과 7이 일요일 인 요일 (0-7)

5 분마다 빌드를 예약하려면 다음 작업을 수행하십시오. */5 * * * *

매일 8h00에 빌드를 예약하려면 다음과 같이하십시오. 0 8 * * *

지난 몇 가지 버전 (2014)의 경우 Jenkins에는 새로운 매개 변수가 있습니다 H( Jenkins 코드 설명서 에서 추출 ).

주기적으로 예약 된 작업이 시스템에 균일 한로드를 생성 할 수있게하려면 가능하면 기호 H( “해시”)를 사용해야합니다.

예를 들어, 0 0 * * *매일 12 개의 작업을 사용하면 자정에 큰 스파이크가 발생합니다. 반면,를 사용 H H * * *하면 하루에 한 번 각 작업을 실행할 수 있지만 동시에 모든 작업을 수행 할 수는 없으므로 제한된 리소스를 사용하는 것이 좋습니다.

또한 다음을 참고하십시오.

H기호는 범위에서 임의의 값으로 생각 될 수 있지만, 실제로 값이 특정 프로젝트에 대해 안정적으로 유지 그래서, 작업 이름이 아닌 임의의 기능의 해시입니다.

‘H’사용의 더 많은 예


답변

Jenkins를 사용하면 줄 바꿈으로 구분하여 여러 번 설정할 수 있습니다.

매일 오전 7시에 매일 오전 7시에 건축 해야하는 경우 아래가 잘 작동합니다.

H 7 * * *

H 16 * * 0


답변

*/5 * * * * 5 분마다

5 * * * * 매시간 5 분을 의미합니다


답변

형식은 다음과 같습니다.

MINUTE (0-59), HOUR (0-23), DAY (1-31), MONTH (1-12), 요일 (0-6)

값 대신 Hash 단어를 나타내는 문자 H를 삽입 할 수 있습니다. 프로젝트 이름의 해시 코드를 기반으로 매개 변수를 계산합니다.

따라서 빌드 머신에서 동시에 여러 프로젝트를 빌드하는 경우 매일 자정이라고 가정하여 빌드 실행을 동시에 시작하지는 않습니다. 각 프로젝트는 해시 코드에 따라 다른 순간에 실행을 시작합니다.

숫자 사이에 값을 지정할 수도 있습니다. 즉 H (0,30)은 가능한 해시가 0-30 인 프로젝트의 해시 코드를 반환합니다.

예 :

  1. 월요일-금요일 오전 08:30에 매일 빌드를 시작하십시오. 30 08 * * 1-5

  2. 평일 매일 빌드 점심 시간 12:00와 자정 00:00, 일요일부터 목요일까지 : 00 0,12 * * 0-4

  3. 프로젝트 해시에 따라 오후 4시-오후 4시 59 분 또는 오후 4시-16:59 사이 늦은 오후에 매일 빌드 시작 : H 16 * * 1-5

  4. 자정에 빌드 시작 : @midnight 또는 매주 토요일 자정에 빌드 시작 : 59 23 * * 6

  5. 매월 1 일 오전 2시 ~ 오후 2시 30 분 사이 : H (0,30) 02 01 * *


답변

Jenkins의 스케줄 작업 단계 :

  1. 작업 요구 사항의 “구성” 을 클릭하십시오
  2. 아래로 스크롤하여 ” 빌드 트리거 “-자막
  3. 주기적으로 빌드 의 확인란을 클릭하십시오
  4. 예를 들어, 스케줄 필드에 시간 스케줄을 추가하십시오. @midnight

여기에 이미지 설명을 입력하십시오

참고 : 일정 필드 아래에서 마지막 및 다음 날짜-시간 실행을 볼 수 있습니다.

Jenkins는 또한 사전 예약 된 별칭을 지원하여 빌드를 예약합니다.

@hourly, @daily, @weekly, @monthly,@midnight

@hourly -> 시간 시작시 매시간마다 빌드-> 0 * * * *

@daily, @midnight -> 매일 자정에 빌드-> 0 0 * * *

@weekly -> 매주 일요일 오전 자정에 빌드-> 0 0 * * 0

@monthly -> 매월 첫째 날 자정에 매월 빌드-> 0 0 1 * *


답변

5 분마다 크론 작업을 예약하려면 다음과 같이 크론 설정을 정의해야합니다.

*/5 * * * *


답변

0 8 * * *를 사용해보십시오. 작동해야합니다