젠킨스(Jenkins)에서 빌드 주기를 설정하는 방법은 무엇인가요?
_____A1: 빌드 주기(Build Trigger)는 지정한 일정이나 조건에 따라 자동으로 빌드를 실행하도록 설정하는 기능입니다. 이를 통해 코드 변경 없이도 정기적으로 빌드를 수행할 수 있습니다.
Q2: 젠킨스에서 빌드 주기를 설정하는 기본적인 방법은 무엇인가요?
A2: 젠킨스의 작업(Job) 구성 페이지에서 "Build Triggers" 섹션으로 이동 후, "Build periodically" 옵션을 체크하고, 크론(Cron) 형식의 스케줄 표현식을 입력하여 빌드 주기를 설정할 수 있습니다.
Q3: 크론(Cron) 형식이란 무엇인가요?
A3: 크론 형식은 리눅스/유닉스 시스템에서 주로 사용하는 스케줄 명세 방식입니다. 젠킨스에서는 `MIN HOUR DOM MON DOW` 형식으로 각 필드를 설정해 빌드 실행 시간을 지정합니다.
- MIN: 분 (0-59)
- HOUR: 시 (0-23)
- DOM: 일 (1-31)
- MON: 월 (1-12)
- DOW: 요일 (0-7, 0과 7은 일요일)
예를 들어, `H 2 * * 1` 은 매주 월요일 2시에 빌드 실행을 의미합니다.
Q4: 간단한 빌드 주기 예시는 어떻게 되나요?
A4:
- 매일 자정에 빌드: `0 0 * * *`
- 매 15분마다 빌드: `H/15 * * * *` (젠킨스의 `H`는 해시값을 의미하며 작업 부하 분산에 유리)
- 매주 월요일 오전 9시: `0 9 * * 1`
Q5: `H` 문자의 의미와 활용법은 무엇인가요?
A5: `H`는 Hash 값을 의미하며, 작업마다 고유한 해시값에 따라 실행 시간을 분산시킵니다. 예를 들면 `H/15 * * * *`는 각 작업이 15분 간격으로 실행되지만 서로 충돌하지 않도록 실행 시간을 분산시킵니다.
Q6: 빌드 주기 옵션에서 "Poll SCM"과의 차이는 무엇인가요?
A6:
- "Build periodically": 지정한 시간에 무조건 빌드가 실행됩니다.
Q7: 파이프라인(Pipeline) 잡에서 빌드 주기를 설정하려면 어떻게 하나요?
A7:
- Jenkinsfile 내에 `triggers` 블록을 추가하여 주기를 설정합니다. 예:
```groovy
pipeline {
triggers {
cron('H 2 * * *')
}
...
}
```
Q8: 빌드 주기를 설정했는데 빌드가 실행되지 않습니다. 어떻게 확인하나요?
A8:
- 크론 표현식이 올바른지 다시 확인합니다.
- 젠킨스 서버 시간이 정확한지 점검합니다.
- 작업이 활성 상태인지, 비활성화되어 있지 않은지 확인합니다.
- 젠킨스 시스템 로그 및 작업 로그에서 오류 여부를 살펴봅니다.
Q9: 작업이 너무 자주 실행돼 서버에 부담이 됩니다. 어떻게 조절하나요?
A9: 빌드 주기 크론 표현식을 더 느리게 변경하거나 `H` 문자를 이용해 빌드 시간을 분산시켜 서버 부하를 줄일 수 있습니다.
---
요약:
젠킨스에서 빌드 주기는 작업 설정의 "Build periodically"에서 크론 형식으로 원하는 실행 주기를 지정하여 설정합니다. 또한 파이프라인 잡은 `triggers { cron('...') }` 블록을 통해 주기를 설정할 수 있습니다.
일반적으로 가장 흔하게 사용되는 방법은 "정기적인 빌드(Periodic Build)" 설정을 사용하는 것입니다.
이 기능을 사용하면 Jenkins가 특정 간격으로 자동으로 빌드를 트리거할 수 있습니다.
다음은 Jenkins에서 빌드 주기를 설정하는 단계입니다.
1. Jenkins 대시보드에 로그인 먼저 Jenkins 인스턴스에 로그인합니다.
2. Job 선택 또는 생성 - 기존의 Job을 수정하려면, 해당 Job의 이름을 클릭하여 들어갑니다.
- 새로운 Job을 만들려면 "새로운 Item(New Item)"을 클릭하고 프로젝트의 이름을 입력한 후, 원하는 프로젝트 유형(프리 스타일 프로젝트 등)을 선택합니다.
3. 구성(Configuration)으로 이동 Job의 대시보드에서 "구성(Configure)"을 클릭하여 설정 화면으로 이동합니다.
4. 빌드 트리거(Build Triggers) 섹션 찾기 구성 화면에서 스크롤을 내려 "빌드 트리거(Build Triggers)" 섹션을 찾습니다.
5. 정기적인 빌드 설정 - "Build periodically"라는 체크박스를 선택합니다.
- 입력란에 cron 스타일의 표현식을 입력합니다.
예를 들어: - `H 4 * * *` : 매일 오전 4시에 빌드를 트리거합니다.
- `H * * * *` : 매 정각 마다 빌드를 트리거합니다 (매 1시간). - `H/15 * * * *` : 매 15분마다 빌드를 트리거합니다.
6. 저장(Save)하기 설정을 완료한 후 하단의 "저장(Save)" 버튼을 클릭하여 변경 사항을 저장합니다.
7. 결과 확인 원하는 주기로 빌드가 실행되는지 확인하기 위해 트리거된 빌드 내역을 모니터링합니다.
추가 팁 - Cron 표현식 : cron 문법을 이용하여 빌드 주기를 정의할 수 있습니다.
각 필드는 다음을 의미합니다: - 1번째 필드: 분 (0-5
9) - 2번째 필드: 시간 (0-2
3) - 3번째 필드: 일 (1-31) - 4번째 필드: 월 (1-1
2) - 5번째 필드: 요일 (0-6, 0=일요일) - H 사용하기: 특정 시간에 고르지 않게 분산하여 실행하고 싶다면 `H`를 활용하여 Jenkins가 대기 시간을 균등하게 분배할 수 있도록 할 수 있습니다.
이와 같이 Jenkins에서 정기적인 빌드 주기를 설정하여 자동화를 통해 지속적인 통합 및 배포(CI/CD) 작업을 효율적으로 관리할 수 있습니다.
작성자:
정민서 [비회원]
| 작성일자: 1년 전
2025-03-22 15:10:58
조회수: 172 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 172 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.