Jenkins에 새 작업을 추가했는데 정기적으로 예약하고 싶습니다.
에서 구성 작업 , 나는 "빌드 정기적으로"확인란을 선택하고과에서 일정 텍스트 필드 식을 추가 :
15 13 * * *
그러나 예정된 시간에는 실행되지 않습니다.
작업을 예약하는 올바른 절차입니까?
작업은 오전 4시 20 분에 실행되어야하지만 실행되고 있지 않습니다.
Jenkins에 새 작업을 추가했는데 정기적으로 예약하고 싶습니다.
에서 구성 작업 , 나는 "빌드 정기적으로"확인란을 선택하고과에서 일정 텍스트 필드 식을 추가 :
15 13 * * *
그러나 예정된 시간에는 실행되지 않습니다.
작업을 예약하는 올바른 절차입니까?
작업은 오전 4시 20 분에 실행되어야하지만 실행되고 있지 않습니다.
답변:
스케줄 기간을 설정하면 15 13 * * *
Jenkins에게 매년 13 시간의 15 분에 매년 매달 빌드를 스케줄하도록 지시합니다.
Jenkins는 cron 표현식을 사용 했으며 다른 필드는 다음과 같습니다.
5 분마다 빌드를 예약하려면 다음 작업을 수행하십시오. */5 * * * *
매일 8h00에 빌드를 예약하려면 다음과 같이하십시오. 0 8 * * *
지난 몇 가지 버전 (2014)의 경우 Jenkins에는 새로운 매개 변수가 있습니다 H
( Jenkins 코드 설명서 에서 추출 ).
주기적으로 예약 된 작업이 시스템에 균일 한로드를 생성 할 수있게하려면 가능하면 기호
H
( "해시")를 사용해야합니다.예를 들어,
0 0 * * *
매일 12 개의 작업을 사용하면 자정에 큰 스파이크가 발생합니다. 반면,를 사용H H * * *
하면 하루에 한 번 각 작업을 실행할 수 있지만 동시에 모든 작업을 수행 할 수는 없으므로 제한된 리소스를 사용하는 것이 좋습니다.
또한 다음을 참고하십시오.
H
기호는 범위에서 임의의 값으로 생각 될 수 있지만, 실제로 값이 특정 프로젝트에 대해 안정적으로 유지 그래서, 작업 이름이 아닌 임의의 기능의 해시입니다.
* */6 * * *
작동?
Jenkins를 사용하면 줄 바꿈으로 구분하여 여러 번 설정할 수 있습니다.
매일 오전 7시에 매일 오전 7시에 건축 해야하는 경우 아래가 잘 작동합니다.
H 7 * * *
H 16 * * 0
H(0-0)
간단하게 사용할 0
수 있다는 장점은 H
모든 작업이 동시에 동시에 실행되는 것이 아니라 "다음 사용 가능한 시간 슬롯"을 얻으려고한다는 것입니다.
형식은 다음과 같습니다.
MINUTE (0-59), HOUR (0-23), DAY (1-31), MONTH (1-12), 요일 (0-6)
값 대신 Hash 단어를 나타내는 문자 H를 삽입 할 수 있습니다. 프로젝트 이름의 해시 코드를 기반으로 매개 변수를 계산합니다.
따라서 빌드 머신에서 동시에 여러 프로젝트를 빌드하는 경우 매일 자정이라고 가정하여 빌드 실행을 동시에 시작하지는 않습니다. 각 프로젝트는 해시 코드에 따라 다른 순간에 실행을 시작합니다.
숫자 사이에 값을 지정할 수도 있습니다. 즉 H (0,30)은 가능한 해시가 0-30 인 프로젝트의 해시 코드를 반환합니다.
예 :
월요일-금요일 오전 08:30에 매일 빌드를 시작하십시오. 30 08 * * 1-5
평일 매일 빌드 점심 시간 12:00와 자정 00:00, 일요일부터 목요일까지 : 00 0,12 * * 0-4
프로젝트 해시에 따라 오후 4시-오후 4시 59 분 또는 오후 4시-16:59 사이 늦은 오후에 매일 빌드 시작 : H 16 * * 1-5
자정에 빌드 시작 : @midnight 또는 매주 토요일 자정에 빌드 시작 : 59 23 * * 6
매월 1 일 오전 2시 ~ 오후 2시 30 분 사이 : H (0,30) 02 01 * *
Jenkins의 스케줄 작업 단계 :
@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 * * *를 사용해보십시오. 작동해야합니다
Jenkins는 예약시 Cron 형식을 사용합니다. 자세한 내용은이 링크를 참조하십시오 .https : //en.wikipedia.org/wiki/Cron. Jenkins는 우리에게 매우 유용한 미리보기를 제공합니다. 스크린 샷을 살펴보십시오.
도움이 되었기를 바랍니다. 감사
이 시도.
20 4 * * *
아래 스크린 샷을 확인하십시오
추천 URL- https: //www.lenar.io/jenkins-schedule-build-periodically/