Fix requirement.txt #2
This file contains hidden or 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: Deploy to EC2 with Docker | |
| on: | |
| push: | |
| branches: [ main ] # main 브랜치에 푸시될 때 실행 | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| # 1. Docker Hub 로그인 | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v2 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # 2. 이미지 빌드 및 푸시 | |
| - name: Build and push Docker image | |
| run: | | |
| docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/fastapi-app:latest . | |
| docker push ${{ secrets.DOCKERHUB_USERNAME }}/fastapi-app:latest | |
| # 3. EC2 접속 및 배포 명령어 실행 | |
| - name: Deploy to EC2 | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.EC2_HOST }} | |
| username: ubuntu | |
| key: ${{ secrets.EC2_SSH_KEY }} | |
| script: | | |
| sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/fastapi-app:latest | |
| sudo docker stop fastapi-container || true | |
| sudo docker rm fastapi-container || true | |
| sudo docker run -d --name fastapi-container -p 80:8000 ${{ secrets.DOCKERHUB_USERNAME }}/fastapi-app:latest |