Jenkins로 배우는 CI/CD 파이프라인 구축
1. Install and Run Jenkins With Docker Compose
2. Jenkins Pipeline 개념 및 예제
3. Github WebHooks 연동하여 Jenkins 빌드 자동화
4. Jenkins Multibranch Pipeline: 효과적인 브랜치 관리와 CI/CD 구축
Multibranch Pipeline은 Jenkins Pipeline의 확장이며, 소스 코드 관리 저장소의 모든 브랜치를 자동으로 검색하고 Jenkinsfile을 사용하여 파이프라인을 생성합니다. 이를 통해 여러 브랜치의 코드를 효율적으로 빌드하고 테스트할 수 있습니다. 각 브랜치의 Jenkinsfile은 해당 브랜치의 빌드, 테스트, 배포 방법을 정의합니다.
Jenkins Multibranch Pipeline은 개발 팀이 다양한 브랜치를 효율적으로 관리하고, 각 브랜치에 대한 CI/CD 작업을 효과적으로 수행할 수 있도록 도와줍니다.
이제 Jenkins Multibranch Pipeline을 설정하는 방법을 살펴보겠습니다.
Creating a Multibranch Pipeline
Jenkins 대시보드에서 ‘새로운 Item’ 을 클릭합니다.
작업 이름을 입력하고 'Multibranch Pipeline'을 선택한 후 'OK'를 클릭합니다.
설정 페이지에서 'Branch Sources' 섹션 “Add a Source” 버튼에서 Github 선택합니다.
생성한 Credentials 선택하고 아래와 같이 Github 저장소를 입력하고 ‘Validate’ 버튼을 눌러서 검증합니다.
Jenkins Credentials 생성하는 방법은 이전 글에서 확인 가능합니다.
설정을 완료했으면 생성을 하고 확인합니다.
Configure Webhook
이제 해당 github repo에서 Webhook를 설정합니다.
이전 예제에서 Webhook 설정하는 방법과 거의 비슷하지만 이번에는 Pushes와 Pull requests를 선택합니다.
Pull request 이벤트도 파이프라인을 실행하기 위해서 선택하였습니다.
Test Multi-branch Pipeline
이제 Multi-branch Pipeline 테스트해보겠습니다.
브랜치(feat/add-jenkinsfile) 하나 만들고 커밋을 해봅니다.
커밋을 하면 해당 브랜치의 파이프라인이 실행되는 것을 확인 할 수 있습니다.
그리고 이번에는 PR를 해봅니다.
그러면 Jenkins에 웹훅이 전송되고 Jenkins는 Jenkins 작업 세부 정보를 다시 보내며 아래에 표시된 대로 PR 상태를 확인하게 될 것입니다.
역시 해당 PR 파이프라인이 실행된 것을 확인할 수 있습니다.
이제 생성한 브랜치를 main 브랜치로 머지하겠습니다.
그러면 역시 main브랜치 파이프라인이 실행됩니다.
참고
https://www.youtube.com/watch?v=B_2FXWI6CWg
https://www.cloudbees.com/blog/jenkins-multibranch-pipeline-with-git-tutorial
https://www.jenkins.io/doc/book/pipeline/multibranch/