Skip to content

Commit

Permalink
Migrate to gcloud artifact repo (#725)
Browse files Browse the repository at this point in the history
* feat(workflow): updated from deprecated container registry to artifact registry

* fix(workflows): added missing gcloud auth configure-docker arg
  • Loading branch information
kadey001 authored Nov 13, 2024
1 parent 01de23e commit 4f3a765
Show file tree
Hide file tree
Showing 15 changed files with 66 additions and 50 deletions.
19 changes: 11 additions & 8 deletions .github/workflows/cc2c-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ env:
DATABASE_URL: ${{ secrets.DATABASE_URL }} # Used for prisma migration
REGISTRATION_AUTHORIZATION_CODE: ${{ secrets.REGISTRATION_AUTHORIZATION_CODE }}
PRYTANEUM_URL: ${{ vars.PRYTANEUM_URL }}
GOOGLE_ARTIFACT_REPO: ${{ vars.GOOGLE_ARTIFACT_REPO }}

jobs:
staging:
Expand Down Expand Up @@ -58,7 +59,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -71,7 +73,7 @@ jobs:
run: |-
docker build \
-f ./docker/Dockerfile.cc2c \
--tag "gcr.io/$PROJECT_ID/$CC2C_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$CC2C_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
--build-arg DEPLOYMENT_ENV="development" \
Expand All @@ -84,7 +86,7 @@ jobs:
# Push the App image to Google Container Registry
- name: Publish App
run: docker push "gcr.io/$PROJECT_ID/$CC2C_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$CC2C_IMAGE:$GITHUB_SHA"

# Set up kustomize
- name: Set up Kustomize
Expand All @@ -96,7 +98,7 @@ jobs:
- name: Kustomize & Deploy App
run: |-
cd ./k8s/cc2c/app/development
kustomize edit set image gcr.io/PROJECT_ID/CC2C_IMAGE:TAG=gcr.io/$PROJECT_ID/$CC2C_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/CC2C_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$CC2C_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down Expand Up @@ -148,7 +150,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -161,7 +164,7 @@ jobs:
run: |-
docker build \
-f ./docker/Dockerfile.cc2c \
--tag "gcr.io/$PROJECT_ID/$CC2C_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$CC2C_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
--build-arg DEPLOYMENT_ENV="production" \
Expand All @@ -174,7 +177,7 @@ jobs:
# Push the App image to Google Container Registry
- name: Publish App
run: docker push "gcr.io/$PROJECT_ID/$CC2C_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$CC2C_IMAGE:$GITHUB_SHA"

# Set up kustomize
- name: Set up Kustomize
Expand All @@ -186,7 +189,7 @@ jobs:
- name: Kustomize & Deploy App
run: |-
cd ./k8s/cc2c/app/production
kustomize edit set image gcr.io/PROJECT_ID/CC2C_IMAGE:TAG=gcr.io/$PROJECT_ID/$CC2C_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/CC2C_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$CC2C_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/client-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ env:
ORIGIN: ${{ vars.ORIGIN }}
API_URL: ${{ vars.API_URL }}
GOOGLE_MEET_API_KEY: ${{ vars.GOOGLE_MEET_API_KEY }}
$GOOGLE_ARTIFACT_REPO: ${{ vars.GOOGLE_ARTIFACT_REPO }}

jobs:
staging:
Expand Down Expand Up @@ -59,7 +60,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -72,7 +74,7 @@ jobs:
run: |-
docker build \
-f ./docker/Dockerfile.client \
--tag "gcr.io/$PROJECT_ID/$CLIENT_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$CLIENT_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
--build-arg GRAPHQL_URL="$GRAPHQL_URL" \
Expand All @@ -85,7 +87,7 @@ jobs:
# Push the Client image to Google Container Registry
- name: Publish Client
run: docker push "gcr.io/$PROJECT_ID/$CLIENT_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$CLIENT_IMAGE:$GITHUB_SHA"

# Set up kustomize
- name: Set up Kustomize
Expand All @@ -97,7 +99,7 @@ jobs:
- name: Kustomize & Deploy Client
run: |-
cd ./k8s/client/development
kustomize edit set image gcr.io/PROJECT_ID/CLIENT_IMAGE:TAG=gcr.io/$PROJECT_ID/$CLIENT_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/CLIENT_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$CLIENT_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down Expand Up @@ -137,7 +139,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -150,7 +153,7 @@ jobs:
run: |-
docker build \
-f ./docker/Dockerfile.client \
--tag "gcr.io/$PROJECT_ID/$CLIENT_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$CLIENT_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
--build-arg DEPLOYMENT_ENV="production" \
Expand All @@ -162,7 +165,7 @@ jobs:
# Push the Client image to Google Container Registry
- name: Publish Client
run: docker push "gcr.io/$PROJECT_ID/$CLIENT_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$CLIENT_IMAGE:$GITHUB_SHA"

# Set up kustomize
- name: Set up Kustomize
Expand All @@ -174,7 +177,7 @@ jobs:
- name: Kustomize & Deploy Client
run: |-
cd ./k8s/client/production
kustomize edit set image gcr.io/PROJECT_ID/CLIENT_IMAGE:TAG=gcr.io/$PROJECT_ID/$CLIENT_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/CLIENT_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$CLIENT_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/gcp-service-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ env:
GKE_ZONE: ${{ vars.GKE_ZONE }}
GCP_SERVICE_IMAGE: ${{ vars.GCP_SERVICE_IMAGE }}
NAMESPACE: ${{ vars.NAMESPACE }}
GOOGLE_ARTIFACT_REPO: ${{ vars.GOOGLE_ARTIFACT_REPO }}

jobs:
staging:
Expand Down Expand Up @@ -52,7 +53,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -65,21 +67,21 @@ jobs:
run: |-
docker build \
-f ./docker/Dockerfile.gcp \
--tag "gcr.io/$PROJECT_ID/$GCP_SERVICE_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$GCP_SERVICE_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
--build-arg DEPLOYMENT_ENV="development" \
.
# Push the App image to Google Container Registry
- name: Publish GCP Service
run: docker push "gcr.io/$PROJECT_ID/$GCP_SERVICE_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$GCP_SERVICE_IMAGE:$GITHUB_SHA"

# Deploy the Docker image to the GKE cluster
- name: Kustomize & Deploy GCP Service
run: |-
cd ./k8s/cc2c/gcp/development
kustomize edit set image gcr.io/PROJECT_ID/GCP_SERVICE_IMAGE:TAG=gcr.io/$PROJECT_ID/$GCP_SERVICE_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/GCP_SERVICE_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$GCP_SERVICE_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down Expand Up @@ -119,7 +121,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -132,21 +135,21 @@ jobs:
run: |-
docker build \
-f ./docker/Dockerfile.gcp \
--tag "gcr.io/$PROJECT_ID/$GCP_SERVICE_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$GCP_SERVICE_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
--build-arg DEPLOYMENT_ENV="production" \
.
# Push the App image to Google Container Registry
- name: Publish GCP Service
run: docker push "gcr.io/$PROJECT_ID/$GCP_SERVICE_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$GCP_SERVICE_IMAGE:$GITHUB_SHA"

# Deploy the Docker image to the GKE cluster
- name: Kustomize & Deploy GCP Service
run: |-
cd ./k8s/cc2c/gcp/production
kustomize edit set image gcr.io/PROJECT_ID/GCP_SERVICE_IMAGE:TAG=gcr.io/$PROJECT_ID/$GCP_SERVICE_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/GCP_SERVICE_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$GCP_SERVICE_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/moderation-algo-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ env:
MODERATION_ALGO_IMAGE: ${{ vars.MODERATION_ALGO_IMAGE }}
NAMESPACE: ${{ vars.NAMESPACE }}
ORIGIN: ${{ vars.ORIGIN }}
GOOGLE_ARTIFACT_REPO: ${{ vars.GOOGLE_ARTIFACT_REPO }}

jobs:
staging:
Expand Down Expand Up @@ -55,7 +56,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -72,14 +74,14 @@ jobs:
run: |-
docker build \
-f ./app/moderation-algo/Dockerfile \
--tag "gcr.io/$PROJECT_ID/$MODERATION_ALGO_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$MODERATION_ALGO_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
./app/moderation-algo
# Push the Moderation algo image to Google Container Registry
- name: Publish Moderation Algorithm
run: docker push "gcr.io/$PROJECT_ID/$MODERATION_ALGO_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$MODERATION_ALGO_IMAGE:$GITHUB_SHA"

# Set up kustomize
- name: Set up Kustomize
Expand All @@ -91,7 +93,7 @@ jobs:
- name: Kustomize & Deploy Moderation Algorithm
run: |-
cd ./k8s/moderation-algo/development
kustomize edit set image gcr.io/PROJECT_ID/MODERATION_ALGO_IMAGE:TAG=gcr.io/$PROJECT_ID/$MODERATION_ALGO_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/MODERATION_ALGO_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$MODERATION_ALGO_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down Expand Up @@ -133,7 +135,8 @@ jobs:
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker \
us-central1-docker.pkg.dev
# Get the GKE credentials so we can deploy to the cluster
- id: 'get-credentials'
uses: google-github-actions/get-gke-credentials@v0.7.0
Expand All @@ -160,14 +163,14 @@ jobs:
run: |-
docker build \
-f ./app/moderation-algo/Dockerfile \
--tag "gcr.io/$PROJECT_ID/$MODERATION_ALGO_IMAGE:$GITHUB_SHA" \
--tag "$GOOGLE_ARTIFACT_REPO/$MODERATION_ALGO_IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
./app/moderation-algo
# Push the Moderation algo image to Google Container Registry
- name: Publish Moderation Algorithm
run: docker push "gcr.io/$PROJECT_ID/$MODERATION_ALGO_IMAGE:$GITHUB_SHA"
run: docker push "$GOOGLE_ARTIFACT_REPO/$MODERATION_ALGO_IMAGE:$GITHUB_SHA"

# Set up kustomize
- name: Set up Kustomize
Expand All @@ -179,7 +182,7 @@ jobs:
- name: Kustomize & Deploy Moderation Algorithm
run: |-
cd ./k8s/moderation-algo/production
kustomize edit set image gcr.io/PROJECT_ID/MODERATION_ALGO_IMAGE:TAG=gcr.io/$PROJECT_ID/$MODERATION_ALGO_IMAGE:$GITHUB_SHA
kustomize edit set image GOOGLE_ARTIFACT_REPO/MODERATION_ALGO_IMAGE:TAG=$GOOGLE_ARTIFACT_REPO/$MODERATION_ALGO_IMAGE:$GITHUB_SHA
kustomize edit set namespace $NAMESPACE
kustomize build . | kubectl apply -f -
Expand Down
Loading

0 comments on commit 4f3a765

Please sign in to comment.