diff --git a/.github/workflows/deploy-docker-gce.yml b/.github/workflows/deploy-docker-gce.yml index ed60bf8..74a10aa 100644 --- a/.github/workflows/deploy-docker-gce.yml +++ b/.github/workflows/deploy-docker-gce.yml @@ -6,41 +6,58 @@ on: - dev # Replace with your branch jobs: - build: + build-and-push: runs-on: ubuntu-latest steps: - - name: Build and push Docker image - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + + - name: Check for changes + id: changes + uses: dorny/paths-filter@v3 + with: + filters: | + src: + - 'src/**' + + - name: Login to DockerHub + uses: docker/login-action@v3 with: - context: . - file: ./Dockerfile - push: true - tags: arcade0425/snap_up_thsr:latest + username: arcade0425 + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + if: steps.changes.outputs.matched == 'true' + + - name: Build and push Docker image + run: | + docker build -t arcade0425/snap_up_thsr:latest . + docker push arcade0425/snap_up_thsr:latest + if: steps.changes.outputs.matched == 'true' deploy: - needs: build + needs: build-and-push runs-on: ubuntu-latest steps: - - name: Setup Google Cloud SDK - uses: google-github-actions/setup-gcloud@v1 + # - run: | + # echo 123 && echo ${{ vars.INSTANCE_REGION }} + - uses: 'actions/checkout@v4' + + - name: Google Cloud Auth + uses: google-github-actions/auth@v2 with: project_id: ${{ secrets.GCP_PROJECT_ID }} - service_account_key: ${{ secrets.GCP_SA_KEY }} - export_default_credentials: true + credentials_json: ${{ secrets.GCP_CREDENTIALS }} - name: Deploy to GCE run: | - gcloud compute ssh ${{ secrets.GCP_USER }}@${{ secrets.GCP_INSTANCE }} --zone=${{ variables.INSTANCE_REGION }} -- "cd snap_up_thsr && \ - docker pull arcade0425/snap_up_thsr:latest && \ - docker run --network=${{ secrets.LIVE_NETWORK }} \ + gcloud compute ssh ${{ secrets.GCP_USER }}@${{ secrets.GCP_INSTANCE }} --zone=${{ vars.INSTANCE_REGION }} -- "sudo docker pull arcade0425/snap_up_thsr:latest && \ + sudo docker update --network=${{ secrets.LIVE_NETWORK }} \ -p 8080:8000 \ -e REDIS_HOST=${{ secrets.REDIS_HOST }} \ -e DB_HOST=${{ secrets.DB_HOST }} \ -e DB_USER=${{ secrets.DB_USER }} \ -e DB_PASSWORD=${{ secrets.DB_PASSWORD }} \ -e DB_NAME=${{ secrets.DB_NAME }} \ - -e deploy=live \ + -e DEPLOY=live \ -d \ --restart=always \ --name snap_up_thsr \ - arcade0425/snap_up_thsr:latest + arcade0425/snap_up_thsr:latest"