Merge pull request #20 from MapChillE/feature/UBLE-150-cache-log #15
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: FastAPI CI/CD | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| jobs: | |
| build-and-deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: 확인용 로그 출력 | |
| run: | | |
| echo "🧾 최신 커밋:" | |
| git log -1 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Docker build & push | |
| run: | | |
| docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker build --no-cache -t ${{ secrets.DOCKER_USERNAME }}/uble-reco -f ./Dockerfile . | |
| docker push ${{ secrets.DOCKER_USERNAME }}/uble-reco:latest | |
| - name: Create .env file on EC2 from secret | |
| uses: appleboy/ssh-action@v1.0.3 | |
| with: | |
| host: ${{ secrets.SERVER_IP }} | |
| username: ${{ secrets.SSH_USER }} | |
| key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| script: | | |
| echo "${{ secrets.ENV_FILE }}" > ~/.env | |
| - name: EC2 Connect & Deploy | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.SERVER_IP }} | |
| username: ${{ secrets.SSH_USER }} | |
| key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| script_stop: true | |
| script: | | |
| sudo docker stop uble-reco || true | |
| sudo docker rm -fv uble-reco || true | |
| sudo docker image rm ${{ secrets.DOCKER_USERNAME }}/uble-reco:latest || true | |
| sudo docker pull ${{ secrets.DOCKER_USERNAME }}/uble-reco:latest | |
| sudo docker run -d \ | |
| --name uble-reco \ | |
| -p 8000:8000 \ | |
| --env-file /home/ubuntu/.env \ | |
| -v /home/ubuntu/uble-logs:/app/logs \ | |
| ${{ secrets.DOCKER_USERNAME }}/uble-reco:latest | |
| sudo docker image prune -f |