다중 분기 파이프라인 및 조건을 사용하여 Django 이미지를 Jenkins에 배포합니다.

3030 단어
이것은 시리즈Deploy a Django app to AWS EC2 instance using Jenkins. A gentle guide to Jenkins.의 다섯 번째 기사입니다.

이 문서에서는 Django 이미지를 Dockerhub에 배포할 다중 분기 Jenkins 파이프라인을 빌드하고 구성합니다. 시리즈의 다른 기사를 미리 살펴봐야 합니다.

이제 다중 분기 파이프라인이 정확히 무엇인지 궁금할 것입니다. 다중 분기 파이프라인 프로젝트 유형을 사용하면 동일한 프로젝트의 여러 분기에 대해 서로 다른 Jenkins 파일을 구현할 수 있습니다. 다중 분기 파이프라인 프로젝트에서 Jenkins는 소스 제어에 Jenkinsfile이 포함된 분기에 대한 파이프라인을 자동으로 검색, 관리 및 실행합니다.

따라서 수동 파이프라인 생성 및 관리가 필요하지 않습니다.

1. Jenkins에서 다중 분기 파이프라인을 생성합니다.



Jenkins 대시보드로 이동하여 new item 탭을 클릭합니다. 작업 이름을 지정하고 multi-branch pipeline 옵션을 선택하여 생성을 계속합니다.



성공적으로 생성되면 branch sources 탭을 클릭하고 드롭다운에서 사용 중인 버전 제어에 따라 Git 또는 GitHub를 선택합니다.



이제 선택 후 소스를 구성합니다. 이전에 구성한 GitHub 자격 증명을 연결하고 project URL 입력 상자에 리포지토리 이름을 추가합니다. discover branches 드롭다운에서 Filter by name (with regular expression) 옵션을 선택합니다. 입력에 다음 정규식을 추가합니다.

.* // dynamically discovers and loads all the branches (master, feature, hot fix etc)



저장을 클릭하면 Jenkins 파일이 있는 경우 GitHub 리포지토리 분기를 스캔하고 작업을 빌드해야 합니다.



이제 다중 분기 파이프라인을 성공적으로 생성하고 구성했습니다.

2. Jenkins에서 조건문을 사용합니다.



프로덕션 워크플로를 모방하고 스테이징 환경 전용으로 Django 이미지를 Dockerhub에 푸시하려고 합니다. 아래 단계는 수행 방법을 안내합니다.

명령을 사용하여 staging 분기를 만들고 전환합니다.

 git switch -c "feat-staging"



다음을 통해 스테이징 브랜치에 있는지 확인합니다.

git branch



이제 모두 좋습니다. 이제 초점을 JenkinsFile로 이동합니다. 스테이징 분기에 있을 때 도커 이미지만 Dockerhub로 푸시한다고 가정합니다. 어떻게 할 수 있습니까? when 블록의 용도를 입력합니다.

stage('build') { 
            when { 
                expression { 
                    BRANCH_NAME == 'staging' //this expression make sure that this step is only run when the branch name is staging
                }

            }
            steps{
                script { 
                    gv.buildApp()
                }
            }
        }



이제 Jenkins에서 다중 분기 파이프라인을 성공적으로 만들고 구성했으며 Jenkins에서 조건을 사용하는 방법을 배웠습니다. 다음 기사에서는 Jenkins에서 sonarqube를 설치, 구성 및 사용하는 방법을 배웁니다.

행복한 해킹!

좋은 웹페이지 즐겨찾기