Jenkins 기본 사용법
4️⃣ Jenkins 기본 사용법
1. Jenkins 첫 실행 및 초기 설정 마법사
Jenkins를 처음 실행하면, 초기 설정 마법사가 나타나게 됩니다. 이 과정에서는 기본적인 설정을 완료하고, Jenkins가 정상적으로 실행되도록 준비할 수 있습니다.
- Jenkins를 처음 실행하면, 브라우저에서
http://localhost:8080
을 열면 Jenkins의 첫 페이지에 접근할 수 있습니다. - 첫 페이지에서 제공된
unlock
키를 입력합니다. 이 키는 Jenkins가 설치된 서버의/var/lib/jenkins/secrets/initialAdminPassword
파일에서 찾을 수 있습니다. - 관리자의 초기 계정을 설정하고, Jenkins의 초기 설정을 완료합니다.
그림: Jenkins 첫 실행 화면
2. 플러그인 설치 및 관리 (Manage Plugins)
Jenkins는 다양한 플러그인을 통해 기능을 확장할 수 있습니다. 플러그인을 설치하는 방법은 매우 간단합니다.
- Jenkins 대시보드에서 Manage Jenkins > Manage Plugins를 클릭합니다.
- 플러그인 관리 페이지에서
Available
탭을 통해 필요한 플러그인을 검색하고 설치할 수 있습니다. - 설치가 완료되면 Jenkins를 재시작하여 플러그인이 활성화됩니다.
그림: 플러그인 설치 화면
3. Jenkins Job 유형 및 차이점
Jenkins는 다양한 종류의 Job을 지원합니다. 각 Job 유형은 특정한 목적에 맞게 설계되어 있으며, 사용자의 요구에 맞춰 선택할 수 있습니다.
1. Freestyle Project
Freestyle Project는 가장 기본적인 Jenkins Job입니다. 기본적인 빌드, 테스트, 배포 등을 설정할 수 있습니다. 사용자가 UI에서 쉽게 설정할 수 있으며, 간단한 프로젝트에 적합합니다.
- 설정 방법: Jenkins 대시보드에서 새로운 Item을 클릭하고,
Freestyle Project
를 선택하여 Job을 생성합니다.
2. Pipeline
Pipeline은 여러 작업을 하나의 스크립트로 정의하고, 코드로 관리할 수 있는 고급 Job 유형입니다. 복잡한 빌드 및 배포 흐름을 자동화하는 데 유용합니다.
- 설정 방법: 새로운 Item에서
Pipeline
을 선택하고, 필요한Jenkinsfile
을 작성하여 설정합니다.
3. Multi-branch Pipeline
Multi-branch Pipeline은 Git 저장소 내의 여러 브랜치를 자동으로 인식하고, 각 브랜치마다 별도의 파이프라인을 실행합니다. 여러 브랜치에서 동시에 작업을 관리할 수 있습니다.
- 설정 방법:
Multi-branch Pipeline
을 선택하고, Git 저장소를 연결한 후 Jenkins가 각 브랜치에서 파이프라인을 자동으로 생성하도록 합니다.
4. Multijob Project
Multijob Project는 여러 개의 Job을 묶어서 실행하는 프로젝트 유형입니다. 각 Job은 독립적으로 실행되며, 서로 의존할 수 있습니다.
4. 첫 번째 Jenkins Job 생성 및 실행
- Jenkins 대시보드에서 새로운 Item을 클릭합니다.
Freestyle Project
를 선택하고, 프로젝트 이름을 입력합니다.- 빌드 설정을 입력합니다. 예를 들어,
Shell
또는Batch
명령어를 사용하여 빌드를 실행할 수 있습니다. - 설정이 완료되면 Save를 클릭하고, Build Now를 클릭하여 빌드를 실행합니다.
예시: Freestyle Project에서 빌드 명령어 설정
echo "Hello, Jenkins!"
그림: Jenkins Job 생성 및 실행
5. Build Trigger 설정 (수동, Poll SCM, Webhook, Timer)
Jenkins에서는 다양한 방법으로 빌드가 트리거될 수 있습니다.
- 수동 트리거: 사용자가 직접 Build Now 버튼을 클릭하여 빌드를 실행합니다.
- Poll SCM: Git과 같은 소스 코드 관리 시스템을 주기적으로 폴링하여 변경 사항이 있으면 자동으로 빌드를 실행합니다.
- Webhook: GitHub과 같은 외부 시스템에서 발생한 이벤트(예: Push 이벤트)에 의해 빌드를 자동으로 트리거할 수 있습니다.
- Timer: 일정한 시간 간격으로 자동으로 빌드를 실행할 수 있습니다.
예시: GitHub Webhook 설정
- Jenkins에서 Webhook을 설정하려면 GitHub 저장소에서 Jenkins URL로 POST 요청을 보내도록 설정합니다.
- Jenkins에서 Build Triggers 항목에서 GitHub hook trigger for GITScm polling을 활성화합니다.
6. Build History 및 Console Output 분석
Jenkins는 각 빌드에 대한 기록을 저장합니다. 이를 통해 이전 빌드의 상태와 로그를 쉽게 확인할 수 있습니다.
- Build History: Jenkins 대시보드에서 각 Job을 선택하면, 오른쪽에 빌드 기록이 표시됩니다. 각 빌드는 고유한 번호와 함께 상태를 표시합니다.
- Console Output: 빌드가 완료된 후, Build Now에서 실행된 Job을 클릭하여 Console Output을 확인할 수 있습니다. 이곳에서는 빌드 과정에서 발생한 오류나 로그를 확인할 수 있습니다.
그림: Build History 및 Console Output
Jenkins에서 기본적인 Job을 설정하고 빌드를 트리거하는 방법을 익히는 것은 CI/CD 자동화의 첫걸음입니다. 다양한 트리거와 설정을 활용하여 효율적인 빌드를 자동화할 수 있습니다.