Bitbucket Pipelines에 SSH 키 등록하기

NuJey·2025년 4월 22일

1. Bitbucket Pipelines에 SSH 키 등록하기

👉 SSH 키 생성

ssh-keygen -t rsa -b 4096 -C "bitbucket-deploy" -f bitbucket_deploy_key

이렇게 두 개의 파일이 생깁니다:

  • bitbucket_deploy_key → 🔒 비공개 키 (private key)
  • bitbucket_deploy_key.pub → 📤 공개 키 (public key)

2. 비공개 키를 Bitbucket에 등록

  1. Bitbucket 저장소로 이동

  2. Repository settings > Pipelines > SSH keys 클릭

  3. Add SSH key

  • Label: deploy-key
  • Key: bitbucket_deploy_key 내용 복사해서 붙여넣기

    주의: 반드시 private key를 붙여야 합니다 (bitbucket_deploy_key, .pub 아님)

3. 공개 키를 EC2 서버에 등록

EC2에 접속 후

vi ~/.ssh/authorized_keys

4. ✅ bitbucket-pipelines.yml 검토 및 최종 수정

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

🔍 마무리 체크리스트

  • SSH 키 생성
  • Bitbucket Pipelines에 private key 등록
  • EC2 서버에 public key 등록
  • EC2 서버의 /home/ec2-user/.ssh/authorized_keys 권한 확인
  • EC2에 포트 22(SSH) 오픈
  • STAGING_HOST 환경 변수 등록

0개의 댓글