지난 번에 Jenkins를 이용하여 pipeline으로 Build & Deploy를 해보았는데요
저는 bitbucket을 사용하고 있어서 bitbucket 자체 기능중 pipeline을 사용해서 Build & Deploy 자동화를 해보겠습니다.
우선 bitbucket에서 pipeline을 이용하려면 project의 root directory에 bitbucket-pipelines.yml 파일이 필요합니다.
# Template NodeJS build
# This template allows you to validate your NodeJS code.
# The workflow allows running tests and code linting on the default branch.
image: node:16
pipelines:
branches:
dev:
- step:
name: Build
caches:
- node
script:
- npm install
- npm install -g serverless
- serverless deploy -s dev
caches:
- node
stg:
- step:
name: Build
caches:
- node
script:
- npm install
- npm install -g serverless
- serverless deploy -s stg
caches:
- node
prd:
- step:
name: Build
caches:
- node
script:
- npm install
- npm install -g serverless
- serverless deploy -s prd
caches:
- node
위와 같이 작성했습니다.
branch별로 dev 브랜치에 push가 되면 dev 섹션에 내용들이 실행이 되게 되는 구조입니다.
caches: - node
는 Pipelines에서 캐시 기능을 사용하여 빌드 속도를 높이기 위한 설정입니다. 이 설정은 현재 사용되고 있는 노드 버전을 캐시하고 있으며, 이전 빌드에서 다운로드한 노드 패키지를 재사용하여 빌드 시간을 단축합니다.
그리고 bitbucket의 repository setting에 가셔서 pipeline탭에 Repository variables를 선택합니다.
위와 같이 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION을 추가해줍니다.
민감한 정보는 secured를 체크하셔서 보안을 유지하시면 됩니다.
그리고 dev 브랜치에다가 push를 하게되면 pipeline이 자동으로 동작하게 됩니다.
위와 같이 Build & Deploy가 정상적으로 완료된 것을 볼 수 있습니다.