From a4d9675b3589472ea01ea2ac7d77062adfafdc0f Mon Sep 17 00:00:00 2001 From: jimin3263 Date: Fri, 24 May 2024 23:39:36 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20ai=20=EC=84=9C=EB=B2=84=20cicd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/fast-api-deploy.yml | 56 +++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/fast-api-deploy.yml diff --git a/.github/workflows/fast-api-deploy.yml b/.github/workflows/fast-api-deploy.yml new file mode 100644 index 0000000..fd4c286 --- /dev/null +++ b/.github/workflows/fast-api-deploy.yml @@ -0,0 +1,56 @@ +name: fast api deploy + +on: + push: + branches: + - feature/fast-api-cicd + - api-main + +env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + DOCKERHUB_API_IMAGE_NAME: ${{ secrets.DOCKERHUB_API_IMAGE_NAME }} + +jobs: + build: + runs-on: ubuntu-latest + + defaults: + run: + working-directory: ./backend-ai-api + + steps: + - name: Check Out The Repository + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11.9' + + - name: Docker build and push + run: | + docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD + docker build -t $DOCKERHUB_USERNAME/$DOCKERHUB_API_IMAGE_NAME:latest . + docker push $DOCKERHUB_USERNAME/$DOCKERHUB_API_IMAGE_NAME:latest + echo "##########(이미지 push 완료)##########" + + deploy: + runs-on: ubuntu-latest + needs: build + name: Deploy + steps: + - name: executing remote ssh commands using ssh key + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + port: ${{ secrets.PORT }} + script: | + cd siperfume-fast-api + + sudo docker-compose pull + sudo docker rm -f $(sudo docker ps -a -q) + sudo docker-compose up --force-recreate --remove-orphans -d + sudo docker image prune -f