Skip to content

v1.1.1: 테스트 기간 종료 후 구글 플레이스토어 정식 출시에 따른 변경 및 수정사항 반영 #7

v1.1.1: 테스트 기간 종료 후 구글 플레이스토어 정식 출시에 따른 변경 및 수정사항 반영

v1.1.1: 테스트 기간 종료 후 구글 플레이스토어 정식 출시에 따른 변경 및 수정사항 반영 #7

Workflow file for this run

name: EATceed
run-name: '${{ github.event.pull_request.title }}'
# Event: release branch merge
on:
pull_request:
branches:
- release
types:
- closed
jobs:
build-and-push:
name: Build and Push Docker Image
runs-on: ubuntu-latest
steps:
# Actions: chekcout action3
- name: Checkout Code
uses: actions/checkout@v3
# Dockerhub 로그인
- name: Docker Hub Login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Docker build
- name: Build Docker Image
run: docker buildx build --platform linux/amd64 -t ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROD_APPLICATION }} -f server/Dockerfile server
# Docker push
- name: Push Docker Image
run: docker push ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROD_APPLICATION }}
deploy:
name: Deploy on AWS EC2 Server(Prod)
runs-on: ubuntu-latest
needs: build-and-push
steps:
# chekcout action의 3 버전을 Actions으로써 실행
- name: Checkout Code
uses: actions/checkout@v3
# AWS EC2 연결 및 배포
- name: Connect to AWS EC2 and Deploy
uses: appleboy/[email protected]
with:
host: ${{ secrets.PROD_AWS_HOST }}
username: ${{ secrets.PROD_AWS_USER }}
key: ${{ secrets.PROD_AWS_PRIVATE_KEY }}
# 기존 AWS EC2 서버에서 수행한 명령어 작성
script: |
cd ai
sudo docker stop fastapi
sudo docker rm fastapi
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROD_APPLICATION }}
sudo docker run -d -p 8000:8000 --name fastapi --env-file .env -v ${{ secrets.GOOGLE_API_PATH }} ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROD_APPLICATION }}
sudo docker image prune -a -f