Jelajahi Sumber

ci: build and push to GCR

iwanhae 1 tahun lalu
induk
melakukan
261af6d0cd
1 mengubah file dengan 28 tambahan dan 6 penghapusan
  1. 28 6
      .github/workflows/build_docker_parser.yaml

+ 28 - 6
.github/workflows/build_docker_parser.yaml

@@ -10,6 +10,8 @@ on:
 env:
   REGISTRY: ghcr.io
   IMAGE_NAME: ${{ github.repository }}
+  GCP_REGISTRY: asia-northeast1-docker.pkg.dev
+  GCP_IMAGE_NAME: iwanhae/cloudrun/kuberian
 
 jobs:
   build:
@@ -23,6 +25,17 @@ jobs:
       - name: Checkout repository
         uses: actions/checkout@v3
 
+      - id: "auth"
+        uses: "google-github-actions/auth@v1"
+        with:
+          credentials_json: "${{ secrets.GOOGLE_CLOUD_SERVICE_ACCOUNT }}"
+
+      - name: "Set up Cloud SDK"
+        uses: "google-github-actions/setup-gcloud@v1"
+
+      - name: "Configure Docker CLI"
+        run: "gcloud auth configure-docker ${{ env.GCP_REGISTRY }}"
+
       - name: Setup Docker buildx
         uses: docker/setup-buildx-action@v2.9.1
 
@@ -34,7 +47,7 @@ jobs:
           username: ${{ github.actor }}
           password: ${{ secrets.GITHUB_TOKEN }}
 
-      - name: Extract Docker metadata
+      - name: Extract Docker metadata for GHCR
         id: meta
         uses: docker/metadata-action@v4.6.0
         with:
@@ -43,7 +56,16 @@ jobs:
             type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
             type=semver,pattern={{version}}
 
-      - name: Build and push Docker Builder image
+      - name: Extract Docker metadata for GCR
+        id: meta-gcr
+        uses: docker/metadata-action@v4.6.0
+        with:
+          images: ${{ env.GCP_REGISTRY }}/${{ env.GCP_IMAGE_NAME }}
+          tags: |
+            type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
+            type=semver,pattern={{version}}
+
+      - name: Build and Push cache
         id: build-and-push-cache
         uses: docker/build-push-action@v4.1.1
         with:
@@ -55,12 +77,12 @@ jobs:
           cache-from: type=gha
           cache-to: type=gha,mode=max
 
-      - name: Build and push Docker Main image
-        id: build-and-push
+      - name: Build and Push to GCR
+        id: build-and-push-gcr
         uses: docker/build-push-action@v4.1.1
         with:
           context: ./searcher
           push: ${{ github.event_name != 'pull_request' }}
-          tags: ${{ steps.meta.outputs.tags }}
-          labels: ${{ steps.meta.outputs.labels }}
+          tags: ${{ steps.meta-gcr.outputs.tags }}
+          labels: ${{ steps.meta-gcr.outputs.labels }}
           cache-from: type=gha