v1.1.1: 테스트 기간 종료 후 구글 플레이스토어 정식 출시에 따른 변경 및 수정사항 반영 #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |