From 4550a7661f73a968f718b0b8106c51150cdcb1bf Mon Sep 17 00:00:00 2001 From: dsha256 Date: Sun, 15 Feb 2026 19:10:34 +0400 Subject: [PATCH 1/2] feat: cicd --- .github/workflows/docker-build-deploy-gcp.yml | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/docker-build-deploy-gcp.yml diff --git a/.github/workflows/docker-build-deploy-gcp.yml b/.github/workflows/docker-build-deploy-gcp.yml new file mode 100644 index 0000000..ca60faa --- /dev/null +++ b/.github/workflows/docker-build-deploy-gcp.yml @@ -0,0 +1,89 @@ +name: Build and Deploy to Google Cloud Run + +env: + SERVICE_NAME: packer-combined-service + PROJECT_ID: packer-combined + IMAGE_NAME: packer-combined + REGISTRY: europe-west1-docker.pkg.dev + GCP_REGION: europe-west1 + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build-and-deploy: + name: Build and Deploy to Cloud Run + runs-on: ubuntu-latest + env: + IMAGE_NAME: packer-combined + PROJECT_ID: ${{ secrets.PROJECT_ID }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Authenticate to Google Cloud + uses: google-github-actions/auth@v2 + with: + credentials_json: '${{ secrets.SERVICE_ACCOUNT_KEY }}' + project_id: ${{ secrets.PROJECT_ID }} + + - name: Set up Cloud SDK + uses: google-github-actions/setup-gcloud@v2 + + - name: Configure Docker for Artifact Registry + run: |- + gcloud auth configure-docker --quiet + gcloud auth configure-docker $GCP_REGION-docker.pkg.dev --quiet + + - name: Build Docker Image + run: docker build -f Dockerfile.combined -t $IMAGE_NAME:latest . + + - name: Set dynamic GIT_TAG + id: vars + run: | + if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + echo "GIT_TAG=${GITHUB_REF_NAME}" >> $GITHUB_ENV + else + echo "GIT_TAG=${GITHUB_SHA:0:7}" >> $GITHUB_ENV + fi + env: + GITHUB_REF_TYPE: ${{ github.ref_type }} + GITHUB_REF_NAME: ${{ github.ref_name }} + GITHUB_SHA: ${{ github.sha }} + + - name: Push Docker Image to Artifact Registry + env: + GIT_TAG: ${{ env.GIT_TAG }} + run: |- + docker tag $IMAGE_NAME:latest $GCP_REGION-docker.pkg.dev/$PROJECT_ID/packer-combined-ar/$IMAGE_NAME:latest + docker tag $IMAGE_NAME:latest $GCP_REGION-docker.pkg.dev/$PROJECT_ID/packer-combined-ar/$IMAGE_NAME:$GIT_TAG + docker push $GCP_REGION-docker.pkg.dev/$PROJECT_ID/packer-combined-ar/$IMAGE_NAME:latest + docker push $GCP_REGION-docker.pkg.dev/$PROJECT_ID/packer-combined-ar/$IMAGE_NAME:$GIT_TAG + + - name: Deploy to Cloud Run + run: | + echo "Deploying service: $SERVICE_NAME" + gcloud run deploy $SERVICE_NAME \ + --image $GCP_REGION-docker.pkg.dev/$PROJECT_ID/packer-combined-ar/$IMAGE_NAME:latest \ + --platform managed \ + --region $GCP_REGION \ + --allow-unauthenticated \ + --port 80 \ + --memory 512Mi \ + --cpu 1 \ + --max-instances 1 \ + --min-instances 1 \ + --timeout 120 \ + + - name: Show Cloud Run URL + run: | + gcloud run services describe $SERVICE_NAME \ + --platform managed \ + --region $GCP_REGION \ + --format="value(status.url)" From a5c1648f2f43ba7a3f0b174c08816238d91b3774 Mon Sep 17 00:00:00 2001 From: dsha256 Date: Sun, 15 Feb 2026 19:31:50 +0400 Subject: [PATCH 2/2] chore: disable pull_request trigger in GCP workflow --- .github/workflows/docker-build-deploy-gcp.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-build-deploy-gcp.yml b/.github/workflows/docker-build-deploy-gcp.yml index ca60faa..757ef10 100644 --- a/.github/workflows/docker-build-deploy-gcp.yml +++ b/.github/workflows/docker-build-deploy-gcp.yml @@ -11,9 +11,9 @@ on: push: branches: - main - pull_request: - branches: - - main +# pull_request: +# branches: +# - main jobs: build-and-deploy: