본문 바로가기

⭐ CICD/Jenkins

Jenkins에서 BitBucket 환경 설정 방법 (dev, stg, prd)

728x90
반응형

# Jenkins에서 BitBucket 환경에 따른 파라미터 부여 방법

Bitbucket과 Jenkins를 사용하여 개발(dev), 스테이징(stg), 프로덕션(prd) 환경을 구분하는 방법은 여러 가지가 있다.

파라미터를 사용하여 환경을 구분하는 일반적인 접근 방식은 다음과 같다:


Jenkins 파라미터 설정:

Jenkins에서 파이프라인 또는 프리스타일 프로젝트를 설정할 때, "이 빌드는 파라미터가 필요합니다" 옵션을 선택.
"String Parameter"를 추가하여 이름을 ENV로 설정하고, 기본값으로 dev를 설정할 수 있다.

설명란에는 "Deploy environment (dev, stg, prd)"와 같이 작성하여 사용자가 입력할 수 있는 옵션을 명시.


Jenkinsfile 또는 스크립트에서 파라미터 사용:

Jenkinsfile(Declarative Pipeline)이나 실행 스크립트에서 params.ENV를 사용하여 환경 파라미터 값을 참조할 수 있다.
예를 들어, 다른 스크립트를 실행하거나 다른 작업을 수행하기 전에 환경에 따라 조건을 분기할 수 있다.
Bitbucket에서 Jenkins 트리거:

Bitbucket의 웹훅 기능을 사용하여 코드 변경 사항이나 특정 이벤트가 발생했을 때 Jenkins 빌드를 트리거할 수 있다.
웹훅 URL에 파라미터를 포함하여 특정 환경에 대한 빌드를 트리거할 수 있다.

예: http://yourjenkins.example.com/job/your-job/buildWithParameters?token=TOKEN&ENV=dev
Jenkins에서 환경별 작업 실행:

ENV 파라미터 값에 따라 다른 스크립트를 실행하거나 다른 작업을 수행합. 예를 들어, if 문을 사용하여 환경별로 다른 배포 스크립트를 실행할 수 있다.

pipeline {
    agent any
    parameters {
        string(name: 'ENV', defaultValue: 'dev', description: 'Deploy environment (dev, stg, prd)')
    }
    stages {
        stage('Deploy') {
            steps {
                script {
                    if (params.ENV == 'dev') {
                        // 개발 환경에 배포하는 스크립트 실행
                    } else if (params.ENV == 'stg') {
                        // 스테이징 환경에 배포하는 스크립트 실행
                    } else if (params.ENV == 'prd') {
                        // 프로덕션 환경에 배포하는 스크립트 실행
                    }
                }
            }
        }
    }
}

이 접근 방식을 사용하면 Bitbucket에서 코드 변경 사항을 푸시할 때마다 Jenkins에서 해당 환경에 맞는 빌드와 배포를 자동으로 수행할 수 있다. Jenkins 파라미터를 통해 환경을 동적으로 선택하고 관리하는 것은 유연성을 제공하며, 다양한 환경에서의 CI/CD 파이프라인 관리를 간소화한다.

 

- 끝 -

728x90
반응형