diff --git a/.github/workflows/stag-admin-api-deploy.yml b/.github/workflows/stag-admin-api-deploy.yml new file mode 100644 index 00000000..0da741ed --- /dev/null +++ b/.github/workflows/stag-admin-api-deploy.yml @@ -0,0 +1,48 @@ +name: stag-admin-api-deploy + +on: + push: + branches: [ "stag/admin" ] + workflow_dispatch: + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: 'corretto' + java-version: '17' + + - name: app clean + run: ./gradlew clean + + - name: admin api build + run: ./gradlew :likelion-admin:build -x test + + - name: Docker login + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_EMAIL }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: ./likelion-admin + push: true + tags: ${{ secrets.DOCKER_ADMIN_API_STAG_IMAGE }} + build-args: PROFILE=stag + + - name: admin-api-deploy + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.KEY }} + script: | + sudo docker rm -f ${{ secrets.DOCKER_ADMIN_API_STAG_CONTAINER }} + sudo docker rmi ${{ secrets.DOCKER_ADMIN_API_STAG_IMAGE }} + sudo docker-compose -f ${{ secrets.DOCKER_COMPOSE_DIRECTORY }} up -d + sudo docker image prune -f