ssh-keygen -t rsa -b 4096 -C "bitbucket-deploy" -f bitbucket_deploy_key
이렇게 두 개의 파일이 생깁니다:
Bitbucket 저장소로 이동
Repository settings > Pipelines > SSH keys 클릭
Add SSH key
주의: 반드시 private key를 붙여야 합니다 (bitbucket_deploy_key, .pub 아님)
EC2에 접속 후
vi ~/.ssh/authorized_keys
image: node:18
pipelines:
default:
- step:
name: "Install & Test"
caches:
- node
script:
- yarn install --frozen-lockfile
- yarn lint
- yarn build
- step:
name: "Docker Build & Push to ECR"
services:
- docker
script:
- echo "Logging in to Docker Hub..."
- echo "$DOCKER_HUB_PASSWORD" | docker login -u "$DOCKER_HUB_USERNAME" --password-stdin
- echo "Building Docker image..."
- docker build -t $DOCKER_HUB_USERNAME/nest-app:latest .
- echo "Pushing Docker image to ECR..."
- docker push $DOCKER_HUB_USERNAME/nest-app:latest
- step:
name: "Deploy to EC2 (Staging)"
deployment: staging
script:
- pipe: atlassian/ssh-run:0.4.0
variables:
SSH_USER: ec2-user
SERVER: $STAGING_HOST
COMMAND: |
cd /home/ec2-user/app
docker-compose pull service
docker-compose down service
docker-compose up --build -d service