Build and Push DCaaS to Artifact Registry #20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Push DCaaS to Artifact Registry | |
| on: | |
| workflow_dispatch: | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| PROJECT_ID: 'workfromhome-467300' | |
| PROJECT_NUMBER: 185351738358 | |
| REGION: us-east1 | |
| REPO: dcaas-docker-repo | |
| jobs: | |
| build-and-push: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: 'read' | |
| id-token: 'write' # Required for workload identify federation. | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - id: 'auth' | |
| name: 'Authenticate with Google Cloud' | |
| uses: google-github-actions/auth@v3 | |
| with: | |
| workload_identity_provider: ${{ secrets.WORKLOAD_IDENTITY_PROVIDER }} | |
| service_account: ${{ secrets.SERVICE_ACCOUNT_EMAIL }} | |
| - uses: google-github-actions/setup-gcloud@v2 | |
| # Configure Docker to authenticate to Artifact Registry | |
| - name: 'Docker Auth with Artifact Registry' | |
| run: gcloud auth configure-docker ${REGION}-docker.pkg.dev --quiet | |
| - name: 'Build and push Docker container for manager service' | |
| run: | | |
| DOCKER_TAG="${REGION}-docker.pkg.dev/${PROJECT_ID}/${REPO}/manager-service:${GITHUB_SHA}" | |
| docker build \ | |
| --tag "${DOCKER_TAG}" \ | |
| --build-arg GITHUB_SHA="${GITHUB_SHA}" \ | |
| --build-arg GITHUB_REF="${GITHUB_REF}" \ | |
| --file ./deploy/Dockerfile.manager \ | |
| . | |
| docker push "${DOCKER_TAG}" | |
| - name: 'Build and push Docker container for worker service' | |
| run: | | |
| DOCKER_TAG="${Registry}/${PROJECT_ID}/${REPO}/worker-service:${GITHUB_SHA}" | |
| docker build \ | |
| --tag "${DOCKER_TAG}" \ | |
| --build-arg GITHUB_SHA="${GITHUB_SHA}" \ | |
| --build-arg GITHUB_REF="${GITHUB_REF}" \ | |
| --file ./deploy/Dockerfile.worker \ | |
| . | |
| docker push "${DOCKER_TAG}" | |