새롭게 시작하는 프로젝트에 적용 한 CI/CD 구축 과정을 소개해 보려고 합니다.
app.yaml
) 생성IAM 및 관리자 > 서비스 계정
페이지로 이동: 아래의 3가지 권한을 추가해줘야 서비스 계정으로 자동 배포 가능
해당 프로젝트 > Repository settings > PIPELINES > Settings
페이지로 이동위에서 다운로드 받은 JSON 파일을 통째로 base64로 인코딩
base64 keyfile_name.json
해당 프로젝트 > Repository settings > PIPELINES > Repository variables
페이지 로 이동KEY_FILE
/ 위에서 base64 로 인코딩 한 문자열PROJECT
/ App Engine이 설정 된 GCP 프로젝트 ID (프로젝트 이름과 ID는 다를 수 있음)
$KEY_FILE
, $PROJECT
)Repository settings > PIPELINES > Deployments
페이지 로 이동bitbucket-pipelines.yml
파일 생성# develop 브랜치에 PUSH하면 Unit Test를 실행하고 App Engine에 배포 되는 설정
image: node:alpine
run-test: &run-test
step:
name: Run jest unit test
caches:
- node
script:
- yarn
- yarn test
deploy-dev: &deploy-dev
step:
name: Deploy Develop Branch to App Engine
deployment: gcp-dev
script:
- pipe: atlassian/google-app-engine-deploy:0.7.3
variables:
KEY_FILE: $KEY_FILE
PROJECT: $PROJECT
STOP_PREVIOUS_VERSION: 'true'
DEBUG: 'true'
pipelines:
branches:
master:
- <<: *run-test
develop:
- <<: *run-test
- <<: *deploy-dev
bitbucket-pipelines.yml
파일에 작성한 내용이 문법적으로 이상이 없는지 확인 가능해당 프로젝트 > Pipelines
페이지 로 이동하면 develop
브랜치에서 배포가 진행되는 것을 확인할 수 있습니다.
멋집니다!