# 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 파이프라인 관리를 간소화한다.
- 끝 -
'⭐ CICD > Jenkins' 카테고리의 다른 글
Jenkins(Localhost) to ec2 배포하기 (0) | 2023.05.15 |
---|---|
Jenkins Repository 를 Codecommit 저장소로 활용하기 (0) | 2023.03.15 |
jenkins를 pod로 설치 및 실행하기 (0) | 2023.03.13 |
Jenkins 설치 (0) | 2021.11.17 |
Jenkins을 활용하여 Docker 이미지 빌드하기 (0) | 2021.11.17 |