배포 설정 및 모니터링
배포 설정
이 가이드에서는 배포 환경의 일반적인 설정을 다룹니다.
먼저 Bitbucket 설정에서 환경을 정의합니다.
다음을 설정할 수 있습니다.
환경 이름
환경의 유형
대시보드에 표시되는 순서
해당 환경에서 명시한 변수
프리미엄 플랜일 경우, 누가 각각에 배포할 수 있는지
그런 다음 bitbucket-pipelines.yml
파일을 참조하여 대시보드에서 확인하기만 하면 됩니다.
1 단계 : 환경 정의
먼저 환경에 대한 세부 정보를 추가합니다.
파이프라인을 활성화하면 기본적으로 'Test'라는 테스트 환경, 'Staging'이라는 스테이징 환경, 'Production'이라는 프로덕션 환경의 3 가지 기본 환경이 생성됩니다.
환경 유형 은 환경을 논리적으로 정렬하는 데 사용되지 그 이상은 아니므로 유형이 사용하는 기능과 일치하지 않아도 걱정하지 마십시오.
repository settings로 이동하십시오.
파이프라인 섹션에서 Deployments를 선택합니다.
환경을 클릭하여 다음을 수행합니다.
이름 변경
각 환경 별로 배포 변수 설정
배포 변수는 팀 및 저장소 변수를 모두 재정의합니다. 또한 동일한 이름의 변수는 각 배포 환경에 대해 다른 값 을 가질 수 있습니다 . 예를 들어 각 환경에 대해 다른$DEPLOYMENT_SECRET_KEY
를 설정할 수 있습니다. 그런 다음 환경도 제한하면 관리자만 비밀키를 사용할 수 있습니다.배포 기능을 관리자 또는 특정 브랜치로 제한합니다.
더 많은 환경을 추가하려면 환경을 가장 잘 설명하는 환경 유형 (테스트, 스테이징 또는 프로덕션)을 결정하고 해당 섹션에서 add environment를 클릭 하십시오.
왼쪽 가장자리를 클릭하고 드래그하여 유형 내에서 환경을 이동할 수도 있습니다.
2 단계 : 배포 Step 구성
deployment
키워드를 추가하고, 환경 이름을 추가한 후, bitbucket-pipeline.yml
파일의 관련 step에 추가합니다.
예제:
- step:
name: Deploy to production
deployment: production-east
script:
- python deployscript.py prod
해당 step은 이제 배포 대시보드에 표시됩니다.
test
, staging
및 production
타입의 환경을 위한 배포를 지원하며, 각 파이프라인에서 이 순서로 나열되어야합니다. 예를 들어 2 개의 테스트 환경과 2 개의 프로덕션 환경이있는 경우 테스트 환경에 배포하는 step은 프로덕션 유형 환경에 배포하는 step 보다 먼저 와야 합니다.
bitbucket-pipeline.yml
파일에 대한 업데이트를 커밋 하여 배포 파이프라인을 실행합니다 .
image: node:10.15.0
pipelines:
default:
- step:
name: Build and push to S3
script:
- apt-get update
- apt-get install -y python-dev
- curl -O https://bootstrap.pypa.io/get-pip.py
- python get-pip.py
- pip install awscli
- aws deploy push --application-name $APPLICATION_NAME --s3-location s3://$S3_BUCKET/test_app_$BITBUCKET_BUILD_NUMBER --ignore-hidden-files
- step:
name: Deploy to test
image: aneitayang/aws-cli:1.0
deployment: testbed
script:
- python deploy.py test
- step:
name: Deploy to staging
image: aneitayang/aws-cli:1.0
deployment: staging1
trigger: manual
script:
- python deploy.py staging
- step:
name: Deploy to production
image: aneitayang/aws-cli:1.0
deployment: production-east
trigger: manual
script:
- python deploy.py prod
3 단계 : 배포 추적
배포 step이 실행되면 배포 대시보드에서 배포를 추적 할 수 있습니다.
배포 대시보드의 이해
배포 대시보드를 사용하여 모든 배포 환경에 대한 정보를 한 눈에 볼 수 있습니다. 또한 배포할 사람이나 브랜치를 지정하기 위해 권한이 있는 배포 변수를 사용할 수도 있습니다.
배포 리뷰 및 Promote
배포 step 매뉴얼을 만든 경우 배포 대시보드에 Promote 버튼이 표시됩니다 . Promote 버튼을 클릭하면 배포 될 커밋 및 파일 변경 사항을 리뷰 할 수있는 배포 미리보기 화면이 시작됩니다. 괜찮아 보이는 경우 Deploy클릭하면 수동 배포 step이 트리거됩니다.
참고 : 각 환경에서는 하나의 배포만 진행할 수 있습니다. 동일한 환경에 배포되는 이후의 파이프라인은 자동으로 일시 중지 됩니다. 진행중인 배포가 완료되면 일시 중지 된 배포 단계를 수동으로 재개 할 수 있습니다.
배포 정보
environment card에서 액세스 할 수있는 다양한 정보가 있습니다.
1. 배포 내역
환경 이름을 클릭하면 환경에 대한 모든 이전 배포 기록을 볼 수 있습니다. 이들 중 하나를 클릭하여 요약 된 배포 정보를 얻을 수 있습니다.
2. 파이프라인보기
파이프라인 번호를 클릭하면 해당 파이프라인 실행에 대한 요약으로 이동하여 로그 등을 볼 수 있습니다.
3. 배포 요약
environment card 또는 기록 목록에서 배포를 클릭하여 배포 요약에 액세스합니다. 요약에서는 다음이 포함된 배포에 대한 정보가 표시됩니다.
배포 된 환경
환경의 이전 배포
배포 상태
배포를 트리거 한 사람 (배포가 수동 step인 경우)
배포가 발생한 날짜
배포의 전체 커밋 목록
환경에서 새 배포와 이전 배포 간의 파일 차이
커밋 메시지에서 언급 한 모든 연결된 Jira 이슈
Jira를 사용하여 작업을 추적하는 경우에는 추가 이점을 위해 Jira와 Bitbucket을 연결할 수 있습니다 .
해당 App들이 연결되면 배포와 관련된 이슈가 배포 요약 및 배포 미리보기 화면에 표시되고 배포가 관련 Jira 이슈에 표시됩니다. 커밋 메시지에 이슈 키 또는 키를 추가하기 만하면 나머지는 자동으로 처리됩니다.
예제
git commit -m "PT-323 Add created workers to container cluster"
Bitbucket에서는 다음과 같이 표시됩니다.
Jira에서는 다음과 같이 표시됩니다.
성공적인 배포를 재실행하는 경우 Jira는 재실행이 아니라 첫 번째로 성공한 배포의 세부 정보를 계속 표시합니다.
배포 롤백
Bitbucket Pipelines를 사용하면 전체 파이 라인을 실행하지 않고도 배포 Step을 롤백 할 수 있습니다. 배포가 실패한 경우 몇 번의 클릭으로 마지막으로 성공한 배포를 복원 할 수 있습니다.
시작하기 전
Redeploy 버튼 활성화:
파이프라인의 초기 배포 step을 성공해야 합니다.
step을 재배포 할 수 있도록 배포 권한을 허용 해야합니다. (프리미엄 플랜 만 해당)
아티팩트는 만료 될 수 없습니다.
배포 롤백
배포 step을 롤백하려면 :
재배포 할 배포를 선택하고 Redeploy 버튼을 클릭합니다.
재배포 화면에서 변경 사항을 검토하고 Redeploy 클릭합니다 .