Skip to content

Fix/61/docker compose (#82) #60

Fix/61/docker compose (#82)

Fix/61/docker compose (#82) #60

Workflow file for this run

name: Deploy to EC2
on: # master 브랜치에 push될 경우만 수행
push:
branches:
- main
workflow_dispatch: # 수동 실행을 위한 이벤트 추가
jobs: # 아래의 jobs를 수행
build:
name: Build
runs-on: ubuntu-latest # 여러 OS 중 우분투 환경 선택
steps:
- name: checkout # 마스터 브랜치로 checkout
uses: actions/checkout@v4
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
# - name: Login to Amazon ECR
# id: login-ecr
# uses: aws-actions/amazon-ecr-login@v2
- name: create remote directory # ec2 서버에 접속해 리모트 디렉토리 생성
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ubuntu
key: ${{ secrets.KEY }}
script: |
mkdir -p /home/ubuntu/UPCY_BE
env:
SSH_HOST: ${{ secrets.HOST }}
SSH_KEY: ${{ secrets.KEY }}
- name: copy source via ssh key # ssh key로 현재 푸시된 소스를 서버에 복사 (rsync로 github runners와 ec2 동기화)
uses: burnett01/rsync-deployments@5.2
with:
switches: -avzr --update #--delete 에서 update로 바꿈
remote_path: /home/ubuntu/UPCY_BE
remote_host: ${{ secrets.HOST }}
remote_user: ubuntu
remote_key: ${{ secrets.KEY }}
# - name: Build, tag, and push image to Amazon ECR
# id: build-image
# env:
# ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
# ECR_REPOSITORY: upcy
# IMAGE_TAG: ${{ github.run_number }}
# run: |
# docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
# docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
# echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
# - name: executing remote ssh commands using password # 서버로 접속해 .env 파일 생성 후
# uses: appleboy/ssh-action@v0.1.5
# with:
# host: ${{ secrets.HOST }}
# username: ubuntu
# key: ${{ secrets.KEY }}
# script: |
# echo '${{ secrets.ENV_VARS }}' >> /home/ubuntu/UPCY_BE/.env
# - name: executing remote ssh commands using password # deploy.sh 파일 실행
# uses: appleboy/ssh-action@v0.1.5
# with:
# host: ${{ secrets.HOST }}
# username: ubuntu
# key: ${{ secrets.KEY }}
# script: |
# sh /home/ubuntu/UPCY_BE/config/scripts/deploy.sh ${{github.run_number}}
# - name: Log out of Amazon ECR
# if: always()
# run: docker logout ${{ steps.login-ecr.outputs.registry }}