From fbf0c05caee44aec3fb2f9cb54004c2d005c5e6b Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 16:45:18 +0500 Subject: [PATCH 01/20] added build_and_push : docker and aks --- .github/workflows/build_push.yml | 96 ++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 .github/workflows/build_push.yml diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml new file mode 100644 index 0000000..821c537 --- /dev/null +++ b/.github/workflows/build_push.yml @@ -0,0 +1,96 @@ +name: Build and Push Docker Images to ACR + +on: + push: + branches: + - dev + +permissions: + id-token: write + contents: read + +env: + ACR_NAME: shaheergooglepracticeregistry + AZURE_REGION: 'australiaeast' + RESOURCE_GROUP: 'microservices-demo-rg' + IMAGE_TAG: ${{ github.sha }} + +jobs: + build_and_push: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login to Azure + uses: azure/login@v1 + with: + creds: ${{ secrets.AZURE_CREDENTIALS }} + + - name: Install Azure CLI + run: | + curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash + + - name: Azure Container Registry Login + run: | + az acr login --name ${{ env.ACR_NAME }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + # Build and push Docker images for each service + - name: Build and Push adservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} + + - name: Build and Push cartservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -f ./src/dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} + + - name: Build and Push currencyservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} + + - name: Build and Push emailservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} + + - name: Build and Push frontend image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} + + - name: Build and Push loadgenerator image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} + + - name: Build and Push paymentservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} + + - name: Build and Push productcatalogservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} + + - name: Build and Push + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} + + - name: Build and Push shippingservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} + + - name: Build and Push shoppingassistanceservice image + run: | + docker build -t ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} From afaa41218618782a2a3497e928b1886e0205a713 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 16:56:17 +0500 Subject: [PATCH 02/20] issue of path resolved : docker and aks --- .github/workflows/build_push.yml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 821c537..9cfad2d 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -40,57 +40,58 @@ jobs: uses: docker/setup-buildx-action@v2 # Build and push Docker images for each service + - name: Build and Push adservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/adservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} - name: Build and Push cartservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -f ./src/dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/cartservice/src/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} - name: Build and Push currencyservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/currencyservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} - name: Build and Push emailservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/emailservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} - name: Build and Push frontend image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/frontend/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} - name: Build and Push loadgenerator image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/loadgenerator/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} - name: Build and Push paymentservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/paymentservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} - name: Build and Push productcatalogservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/productcatalogservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} - - name: Build and Push + - name: Build and Push recommendationservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/recommendationservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} - name: Build and Push shippingservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/shippingservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} - name: Build and Push shoppingassistanceservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} -f ./dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/shoppingassistanceservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} From 9f7aa4dff9bd028b38aba9d3e75c49162fd85be1 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 17:10:26 +0500 Subject: [PATCH 03/20] issue of path resolved : docker and aks --- .github/workflows/build_push.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 9cfad2d..8a3d017 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -43,55 +43,55 @@ jobs: - name: Build and Push adservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/adservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/adservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} - name: Build and Push cartservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/cartservice/src/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/cartservice/src/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} - name: Build and Push currencyservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/currencyservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/currencyservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} - name: Build and Push emailservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/emailservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/emailservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} - name: Build and Push frontend image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/frontend/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/frontend/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} - name: Build and Push loadgenerator image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/loadgenerator/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/loadgenerator/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} - name: Build and Push paymentservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/paymentservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/paymentservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} - name: Build and Push productcatalogservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/productcatalogservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/productcatalogservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} - name: Build and Push recommendationservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/recommendationservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/recommendationservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} - name: Build and Push shippingservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/shippingservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/shippingservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} - name: Build and Push shoppingassistanceservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/microservices-demo-main/src/shoppingassistanceservice/Dockerfile . + docker build -t ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/shoppingassistanceservice/Dockerfile . docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} From 00b775b871365d2f827222faea22e7e1a77a3868 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 17:21:08 +0500 Subject: [PATCH 04/20] adservice docker file fixed : docker and aks --- .../src/adservice/Dockerfile | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/microservices-demo-main/src/adservice/Dockerfile b/microservices-demo-main/src/adservice/Dockerfile index f1087b7..fdcfc19 100644 --- a/microservices-demo-main/src/adservice/Dockerfile +++ b/microservices-demo-main/src/adservice/Dockerfile @@ -1,41 +1,53 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM eclipse-temurin:21@sha256:0ec8616e48cc54bffbabad6e6d4d221b486cb7afcff0b351fc30676a426e4db7 AS builder + +# FROM eclipse-temurin:21@sha256:0ec8616e48cc54bffbabad6e6d4d221b486cb7afcff0b351fc30676a426e4db7 AS builder + +# WORKDIR /app + +# COPY ["build.gradle", "gradlew", "./"] +# COPY gradle gradle +# RUN chmod +x gradlew +# RUN ./gradlew downloadRepos + +# COPY . . +# RUN chmod +x gradlew +# RUN ./gradlew installDist + +# FROM eclipse-temurin:21.0.4_7-jre-alpine@sha256:8cc1202a100e72f6e91bf05ab274b373a5def789ab6d9e3e293a61236662ac27 + + +# WORKDIR /app +# COPY --from=builder /app . + +# EXPOSE 9555 +# ENTRYPOINT ["/app/build/install/hipstershop/bin/AdService"] + + +# Stage 1: Build +FROM eclipse-temurin:21 AS builder WORKDIR /app +# Copy only what's needed for the build COPY ["build.gradle", "gradlew", "./"] -COPY gradle gradle +COPY gradle/ gradle/ RUN chmod +x gradlew RUN ./gradlew downloadRepos +# Copy the rest of the application files COPY . . + +# Build the application RUN chmod +x gradlew RUN ./gradlew installDist -FROM eclipse-temurin:21.0.4_7-jre-alpine@sha256:8cc1202a100e72f6e91bf05ab274b373a5def789ab6d9e3e293a61236662ac27 - -# @TODO: https://github.com/GoogleCloudPlatform/microservices-demo/issues/2517 -# Download Stackdriver Profiler Java agent -# RUN mkdir -p /opt/cprof && \ -# wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent_alpine.tar.gz \ -# | tar xzv -C /opt/cprof && \ -# rm -rf profiler_java_agent.tar.gz +# Stage 2: Create a smaller runtime image +FROM eclipse-temurin:21.0.4_7-jre-alpine WORKDIR /app -COPY --from=builder /app . +COPY --from=builder /app/build/install/hipstershop/bin/AdService . +# Expose the service port EXPOSE 9555 -ENTRYPOINT ["/app/build/install/hipstershop/bin/AdService"] + +# Run the application +ENTRYPOINT ["/app/AdService"] From eaafc108b842bb9d787b3df723cfae446798d511 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 17:30:13 +0500 Subject: [PATCH 05/20] adservice had gradlew being used, which is outside the folder. I have fxed it. Docker file fixed : docker and aks --- microservices-demo-main/src/adservice/Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/microservices-demo-main/src/adservice/Dockerfile b/microservices-demo-main/src/adservice/Dockerfile index fdcfc19..a7ab2e6 100644 --- a/microservices-demo-main/src/adservice/Dockerfile +++ b/microservices-demo-main/src/adservice/Dockerfile @@ -22,19 +22,21 @@ # ENTRYPOINT ["/app/build/install/hipstershop/bin/AdService"] +# Stage 1: Build # Stage 1: Build FROM eclipse-temurin:21 AS builder WORKDIR /app -# Copy only what's needed for the build -COPY ["build.gradle", "gradlew", "./"] -COPY gradle/ gradle/ +# Copy build.gradle and gradlew into the working directory +COPY ./src/adservice/build.gradle ./src/adservice/gradlew ./ +COPY ./src/adservice/gradle/ ./gradle/ # Ensure gradle/ directory exists in the build context + RUN chmod +x gradlew RUN ./gradlew downloadRepos # Copy the rest of the application files -COPY . . +COPY ./src/adservice . # Build the application RUN chmod +x gradlew From a76a40f96e1b3345780263389390c82fb3f23c0c Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 17:39:06 +0500 Subject: [PATCH 06/20] adservice had gradlew being used, which is outside the folder. I have fxed it. Docker file fixed : docker and aks --- .../src/adservice/Dockerfile | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/microservices-demo-main/src/adservice/Dockerfile b/microservices-demo-main/src/adservice/Dockerfile index a7ab2e6..13ac0c4 100644 --- a/microservices-demo-main/src/adservice/Dockerfile +++ b/microservices-demo-main/src/adservice/Dockerfile @@ -21,22 +21,24 @@ # EXPOSE 9555 # ENTRYPOINT ["/app/build/install/hipstershop/bin/AdService"] - -# Stage 1: Build +############################################################################## # Stage 1: Build FROM eclipse-temurin:21 AS builder WORKDIR /app -# Copy build.gradle and gradlew into the working directory -COPY ./src/adservice/build.gradle ./src/adservice/gradlew ./ -COPY ./src/adservice/gradle/ ./gradle/ # Ensure gradle/ directory exists in the build context +# Copy build.gradle, gradlew, and settings.gradle from adservice +COPY ./src/adservice/build.gradle ./src/adservice/gradlew ./src/adservice/settings.gradle ./ +# Copy gradle directory from the project root (higher up in the file tree) +COPY ./gradle ./gradle + +# Make gradlew executable and download repositories RUN chmod +x gradlew RUN ./gradlew downloadRepos -# Copy the rest of the application files -COPY ./src/adservice . +# Copy the rest of the adservice files +COPY ./src/adservice . # Copy all adservice contents # Build the application RUN chmod +x gradlew @@ -46,6 +48,8 @@ RUN ./gradlew installDist FROM eclipse-temurin:21.0.4_7-jre-alpine WORKDIR /app + +# Copy the built application from the first stage COPY --from=builder /app/build/install/hipstershop/bin/AdService . # Expose the service port From 32e38d8381772f1dcb95d24db22ebfa7f2709f42 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 17:44:40 +0500 Subject: [PATCH 07/20] adservice had gradlew being used, which is outside the folder. I have fxed it. Docker file fixed : docker and aks --- microservices-demo-main/src/adservice/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservices-demo-main/src/adservice/Dockerfile b/microservices-demo-main/src/adservice/Dockerfile index 13ac0c4..6f7c58b 100644 --- a/microservices-demo-main/src/adservice/Dockerfile +++ b/microservices-demo-main/src/adservice/Dockerfile @@ -31,7 +31,7 @@ WORKDIR /app COPY ./src/adservice/build.gradle ./src/adservice/gradlew ./src/adservice/settings.gradle ./ # Copy gradle directory from the project root (higher up in the file tree) -COPY ./gradle ./gradle +COPY ../gradle ./gradle # Make gradlew executable and download repositories RUN chmod +x gradlew From 6ed1784f963292620b06734c0599b24da1df3567 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Tue, 24 Sep 2024 22:32:36 +0500 Subject: [PATCH 08/20] sha added for adservice docker file --- .../src/adservice/Dockerfile | 75 +++++++++---------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/microservices-demo-main/src/adservice/Dockerfile b/microservices-demo-main/src/adservice/Dockerfile index 6f7c58b..cd62b86 100644 --- a/microservices-demo-main/src/adservice/Dockerfile +++ b/microservices-demo-main/src/adservice/Dockerfile @@ -1,59 +1,58 @@ # FROM eclipse-temurin:21@sha256:0ec8616e48cc54bffbabad6e6d4d221b486cb7afcff0b351fc30676a426e4db7 AS builder +FROM eclipse-temurin:21@sha256:0ec8616e48cc54bffbabad6e6d4d221b486cb7afcff0b351fc30676a426e4db7 AS builder +WORKDIR /app -# WORKDIR /app - -# COPY ["build.gradle", "gradlew", "./"] -# COPY gradle gradle -# RUN chmod +x gradlew -# RUN ./gradlew downloadRepos +COPY ["build.gradle", "gradlew", "./"] +COPY gradle gradle +RUN chmod +x gradlew +RUN ./gradlew downloadRepos -# COPY . . -# RUN chmod +x gradlew -# RUN ./gradlew installDist +COPY . . +RUN chmod +x gradlew +RUN ./gradlew installDist -# FROM eclipse-temurin:21.0.4_7-jre-alpine@sha256:8cc1202a100e72f6e91bf05ab274b373a5def789ab6d9e3e293a61236662ac27 +FROM eclipse-temurin:21.0.4_7-jre-alpine@sha256:8cc1202a100e72f6e91bf05ab274b373a5def789ab6d9e3e293a61236662ac27 -# WORKDIR /app -# COPY --from=builder /app . +WORKDIR /app +COPY --from=builder /app . -# EXPOSE 9555 -# ENTRYPOINT ["/app/build/install/hipstershop/bin/AdService"] +EXPOSE 9555 +ENTRYPOINT ["/app/build/install/hipstershop/bin/AdService"] ############################################################################## -# Stage 1: Build -FROM eclipse-temurin:21 AS builder -WORKDIR /app -# Copy build.gradle, gradlew, and settings.gradle from adservice -COPY ./src/adservice/build.gradle ./src/adservice/gradlew ./src/adservice/settings.gradle ./ +# WORKDIR /app -# Copy gradle directory from the project root (higher up in the file tree) -COPY ../gradle ./gradle +# # Copy build.gradle, gradlew, and settings.gradle from adservice +# COPY ./src/adservice/build.gradle ./src/adservice/gradlew ./src/adservice/settings.gradle ./ -# Make gradlew executable and download repositories -RUN chmod +x gradlew -RUN ./gradlew downloadRepos +# # Copy gradle directory from the project root (higher up in the file tree) +# COPY ../gradle ./gradle -# Copy the rest of the adservice files -COPY ./src/adservice . # Copy all adservice contents +# # Make gradlew executable and download repositories +# RUN chmod +x gradlew +# RUN ./gradlew downloadRepos -# Build the application -RUN chmod +x gradlew -RUN ./gradlew installDist +# # Copy the rest of the adservice files +# COPY ./src/adservice . # Copy all adservice contents -# Stage 2: Create a smaller runtime image -FROM eclipse-temurin:21.0.4_7-jre-alpine +# # Build the application +# RUN chmod +x gradlew +# RUN ./gradlew installDist -WORKDIR /app +# # Stage 2: Create a smaller runtime image +# FROM eclipse-temurin:21.0.4_7-jre-alpine -# Copy the built application from the first stage -COPY --from=builder /app/build/install/hipstershop/bin/AdService . +# WORKDIR /app -# Expose the service port -EXPOSE 9555 +# # Copy the built application from the first stage +# COPY --from=builder /app/build/install/hipstershop/bin/AdService . + +# # Expose the service port +# EXPOSE 9555 -# Run the application -ENTRYPOINT ["/app/AdService"] +# # Run the application +# ENTRYPOINT ["/app/AdService"] From 3c1e8831532c35bc8d950ae1f64bbd6c4cf04ba8 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 00:15:05 +0500 Subject: [PATCH 09/20] images to be pulled from doc hub --- .github/workflows/build_push.yml | 84 +++++++++++++++++--------------- 1 file changed, 46 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 8a3d017..171dfb4 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -1,4 +1,4 @@ -name: Build and Push Docker Images to ACR +name: Pull Docker Images from DockerHub and Deploy to AKS on: push: @@ -10,88 +10,96 @@ permissions: contents: read env: - ACR_NAME: shaheergooglepracticeregistry + DOCKERHUB_USERNAME: shaheer4636 AZURE_REGION: 'australiaeast' RESOURCE_GROUP: 'microservices-demo-rg' - IMAGE_TAG: ${{ github.sha }} + AKS_CLUSTER_NAME: 'microservices-demo-aks' + ACR_NAME: shaheergooglepracticeregistry + IMAGE_TAG: latest jobs: - build_and_push: + pull_and_deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 + - name: Login to DockerHub + run: | + echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login --username ${{ env.DOCKERHUB_USERNAME }} --password-stdin + - name: Login to Azure uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - - name: Install Azure CLI + - name: Set up AKS Credentials run: | - curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash - - - name: Azure Container Registry Login - run: | - az acr login --name ${{ env.ACR_NAME }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - # Build and push Docker images for each service + az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_CLUSTER_NAME }} - - name: Build and Push adservice image + - name: Pull and Push adservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/adservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} - - name: Build and Push cartservice image + - name: Pull and Push cartservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/cartservice/src/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} - - name: Build and Push currencyservice image + - name: Pull and Push currencyservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/currencyservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} - - name: Build and Push emailservice image + - name: Pull and Push emailservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/emailservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} - - name: Build and Push frontend image + - name: Pull and Push frontend image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/frontend/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} - - name: Build and Push loadgenerator image + - name: Pull and Push loadgenerator image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/loadgenerator/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} - - name: Build and Push paymentservice image + - name: Pull and Push paymentservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/paymentservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} - - name: Build and Push productcatalogservice image + - name: Pull and Push productcatalogservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/productcatalogservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} - - name: Build and Push recommendationservice image + - name: Pull and Push recommendationservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/recommendationservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} - - name: Build and Push shippingservice image + - name: Pull and Push shippingservice image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/shippingservice/Dockerfile . + docker pull ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} - - name: Build and Push shoppingassistanceservice image + - name: Pull and Push shoppingassistants image run: | - docker build -t ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} -f ./microservices-demo-main/src/shoppingassistanceservice/Dockerfile . - docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistanceservice:${{ env.IMAGE_TAG }} + docker pull ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} + docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} From bf4b6a15f67ff4de72ee306a14607649857d8417 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 02:18:36 +0500 Subject: [PATCH 10/20] 13 commit --- .github/workflows/build_push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 171dfb4..d3fdab8 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -14,7 +14,7 @@ env: AZURE_REGION: 'australiaeast' RESOURCE_GROUP: 'microservices-demo-rg' AKS_CLUSTER_NAME: 'microservices-demo-aks' - ACR_NAME: shaheergooglepracticeregistry + ACR_NAME: 'shaheergooglepracticeregistry' IMAGE_TAG: latest jobs: From 1aad28efa21854ef27a83b6ada09b7b286ada5a1 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 02:23:08 +0500 Subject: [PATCH 11/20] azlogin1.4.7 updated --- .github/workflows/build_push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index d3fdab8..1fa917c 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -30,7 +30,7 @@ jobs: echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login --username ${{ env.DOCKERHUB_USERNAME }} --password-stdin - name: Login to Azure - uses: azure/login@v1 + uses: azure/login@v1.4.7 with: creds: ${{ secrets.AZURE_CREDENTIALS }} From 2fa82e4cf141551c3e347628ab3ce53654ff94c2 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 02:32:28 +0500 Subject: [PATCH 12/20] azlogin1.4.7 updated --- .github/workflows/build_push.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 1fa917c..c4c67fe 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -34,6 +34,10 @@ jobs: with: creds: ${{ secrets.AZURE_CREDENTIALS }} + - name: Login to ACR + run: | + az acr login --name ${{ env.ACR_NAME }} + - name: Set up AKS Credentials run: | az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_CLUSTER_NAME }} From e5b4a42ed49b6e14bd9b454855b7a15c4374fea0 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 14:54:41 +0500 Subject: [PATCH 13/20] testing workflow for aks deployment --- .github/workflows/azuresetup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/azuresetup.yml b/.github/workflows/azuresetup.yml index 51bce70..604d498 100644 --- a/.github/workflows/azuresetup.yml +++ b/.github/workflows/azuresetup.yml @@ -3,7 +3,7 @@ name: Azure Infrastructure Setup on: push: branches: - - master + - dev permissions: id-token: write From 96be612fb0bee17ff53a262571fb58c2b27f0e66 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 16:03:42 +0500 Subject: [PATCH 14/20] pull images from hub to acr --- .github/workflows/azuresetup.yml | 122 +++++++++++++++---------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/.github/workflows/azuresetup.yml b/.github/workflows/azuresetup.yml index 604d498..bc266ed 100644 --- a/.github/workflows/azuresetup.yml +++ b/.github/workflows/azuresetup.yml @@ -1,61 +1,61 @@ -name: Azure Infrastructure Setup - -on: - push: - branches: - - dev - -permissions: - id-token: write - contents: read - -env: - TF_VAR_azure_region: 'australiaeast' - TF_VAR_resource_group_name: 'microservices-demo-rg' - TF_VAR_acr_name: 'shaheergooglepracticeregistry' - -jobs: - setup_infrastructure: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Install Azure CLI - run: | - curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash - - - name: Azure login - uses: azure/login@v1.4.7 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - - - name: Install Terraform - run: | - sudo apt-get update && sudo apt-get install -y gnupg software-properties-common - curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - - sudo apt-add-repository "deb https://apt.releases.hashicorp.com $(lsb_release -cs) main" - sudo apt-get update && sudo apt-get install terraform - - - name: Check if Terraform directory exists - run: | - if [ ! -d "deployment/terraform/aks" ]; then - echo "Directory deployment/terraform/aks does not exist." - exit 1 - fi - - - name: Initialize Terraform - run: | - cd deployment/terraform/aks - terraform init - - - name: Import Existing Resource Group - run: | - terraform import azurerm_resource_group.rg /subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/resourceGroups/microservices-demo-rg || true - working-directory: deployment/terraform/aks - - - name: Apply Terraform Configuration - run: | - cd deployment/terraform/aks - terraform apply -auto-approve +# name: Azure Infrastructure Setup + +# on: +# push: +# branches: +# - dev + +# permissions: +# id-token: write +# contents: read + +# env: +# TF_VAR_azure_region: 'australiaeast' +# TF_VAR_resource_group_name: 'microservices-demo-rg' +# TF_VAR_acr_name: 'shaheergooglepracticeregistry' + +# jobs: +# setup_infrastructure: +# runs-on: ubuntu-latest + +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 + +# - name: Install Azure CLI +# run: | +# curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash + +# - name: Azure login +# uses: azure/login@v1.4.7 +# with: +# creds: ${{ secrets.AZURE_CREDENTIALS }} + +# - name: Install Terraform +# run: | +# sudo apt-get update && sudo apt-get install -y gnupg software-properties-common +# curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - +# sudo apt-add-repository "deb https://apt.releases.hashicorp.com $(lsb_release -cs) main" +# sudo apt-get update && sudo apt-get install terraform + +# - name: Check if Terraform directory exists +# run: | +# if [ ! -d "deployment/terraform/aks" ]; then +# echo "Directory deployment/terraform/aks does not exist." +# exit 1 +# fi + +# - name: Initialize Terraform +# run: | +# cd deployment/terraform/aks +# terraform init + +# - name: Import Existing Resource Group +# run: | +# terraform import azurerm_resource_group.rg /subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/resourceGroups/microservices-demo-rg || true +# working-directory: deployment/terraform/aks + +# - name: Apply Terraform Configuration +# run: | +# cd deployment/terraform/aks +# terraform apply -auto-approve From 3a7da8a8136001c516a8a3d85985681345f84f64 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 16:31:32 +0500 Subject: [PATCH 15/20] deploy manifests to aks and then apply --- .github/workflows/deployments_to_aks.yml | 37 +++++++++++++++++++ .../kubernetes-manifests/adservice.yaml | 6 +-- .../kubernetes-manifests/cartservice.yaml | 6 +-- .../kubernetes-manifests/checkoutservice.yaml | 2 +- .../kubernetes-manifests/currencyservice.yaml | 2 +- .../kubernetes-manifests/emailservice.yaml | 2 +- .../kubernetes-manifests/frontend.yaml | 2 +- .../kubernetes-manifests/loadgenerator.yaml | 4 +- .../kubernetes-manifests/paymentservice.yaml | 2 +- .../productcatalogservice.yaml | 2 +- .../recommendationservice.yaml | 2 +- .../kubernetes-manifests/shippingservice.yaml | 2 +- 12 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/deployments_to_aks.yml diff --git a/.github/workflows/deployments_to_aks.yml b/.github/workflows/deployments_to_aks.yml new file mode 100644 index 0000000..f861e3b --- /dev/null +++ b/.github/workflows/deployments_to_aks.yml @@ -0,0 +1,37 @@ +name: Deploy to AKS on Push to Dev + +on: + push: + branches: + - dev # Triggers on push to 'dev' branch + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout kubernetes-manifests directory only + run: | + mkdir kubernetes-manifests + cd kubernetes-manifests + git init + git remote add origin https://github.com/Shaheer4636/google-microservices-poc.git + git config core.sparseCheckout true + echo "microservices-demo-main/kubernetes-manifests/*" >> .git/info/sparse-checkout + git pull origin master + + - name: Log in to Azure + uses: azure/login@v1 + with: + creds: ${{ secrets.AZURE_CREDENTIALS }} # Use your Azure service principal secret + + - name: Set up AKS context + uses: azure/aks-set-context@v2 + with: + resource-group: 'microservices-demo-rg' # Replace with your resource group name + cluster-name: 'microservices-demo-aks' # Replace with your AKS cluster name + + - name: Apply Kubernetes Manifests + run: | + cd repo/microservices-demo-main/kubernetes-manifestss # Navigate to the correct path + kubectl apply -f . # Apply all manifests in the directory diff --git a/microservices-demo-main/kubernetes-manifests/adservice.yaml b/microservices-demo-main/kubernetes-manifests/adservice.yaml index 25ff1b7..20ab067 100644 --- a/microservices-demo-main/kubernetes-manifests/adservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/adservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: adservice + image: shaheergooglepracticeregistry.azurecr.io/adservice:latest ports: - containerPort: 9555 env: @@ -51,8 +51,8 @@ spec: value: "9555" resources: requests: - cpu: 200m - memory: 180Mi + cpu: 100m + memory: 100Mi limits: cpu: 300m memory: 300Mi diff --git a/microservices-demo-main/kubernetes-manifests/cartservice.yaml b/microservices-demo-main/kubernetes-manifests/cartservice.yaml index 5470d36..f37b4b1 100644 --- a/microservices-demo-main/kubernetes-manifests/cartservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/cartservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: cartservice + image: shaheergooglepracticeregistry.azurecr.io/cartservice:latest ports: - containerPort: 7070 env: @@ -51,8 +51,8 @@ spec: value: "redis-cart:6379" resources: requests: - cpu: 200m - memory: 64Mi + cpu: 100m + memory: 100Mi limits: cpu: 300m memory: 128Mi diff --git a/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml b/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml index c7dc5a0..82f7d11 100644 --- a/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml @@ -42,7 +42,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: checkoutservice + image: shaheergooglepracticeregistry.azurecr.io/checkoutservice:latest ports: - containerPort: 5050 readinessProbe: diff --git a/microservices-demo-main/kubernetes-manifests/currencyservice.yaml b/microservices-demo-main/kubernetes-manifests/currencyservice.yaml index 58fc032..d8e5d73 100644 --- a/microservices-demo-main/kubernetes-manifests/currencyservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/currencyservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: currencyservice + image: shaheergooglepracticeregistry.azurecr.io/currencyservice:latest ports: - name: grpc containerPort: 7000 diff --git a/microservices-demo-main/kubernetes-manifests/emailservice.yaml b/microservices-demo-main/kubernetes-manifests/emailservice.yaml index bea781a..324a3f3 100644 --- a/microservices-demo-main/kubernetes-manifests/emailservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/emailservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: emailservice + image: shaheergooglepracticeregistry.azurecr.io/emailservice:latest ports: - containerPort: 8080 env: diff --git a/microservices-demo-main/kubernetes-manifests/frontend.yaml b/microservices-demo-main/kubernetes-manifests/frontend.yaml index 5aec4f3..8c033ca 100644 --- a/microservices-demo-main/kubernetes-manifests/frontend.yaml +++ b/microservices-demo-main/kubernetes-manifests/frontend.yaml @@ -44,7 +44,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: frontend + image: shaheergooglepracticeregistry.azurecr.io/frontend:latest ports: - containerPort: 8080 readinessProbe: diff --git a/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml b/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml index c0e0e00..7db4873 100644 --- a/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml +++ b/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml @@ -88,8 +88,8 @@ spec: cpu: 300m memory: 256Mi limits: - cpu: 500m - memory: 512Mi + cpu: 200m + memory: 200Mi --- apiVersion: v1 kind: ServiceAccount diff --git a/microservices-demo-main/kubernetes-manifests/paymentservice.yaml b/microservices-demo-main/kubernetes-manifests/paymentservice.yaml index a0a1526..63bd73d 100644 --- a/microservices-demo-main/kubernetes-manifests/paymentservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/paymentservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: paymentservice + image: shaheergooglepracticeregistry.azurecr.io/paymentservice:latest ports: - containerPort: 50051 env: diff --git a/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml b/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml index 6774650..b6d2c72 100644 --- a/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: productcatalogservice + image: shaheergooglepracticeregistry.azurecr.io/productcatalogservice:latest ports: - containerPort: 3550 env: diff --git a/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml b/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml index 2d2c6ee..abdfad4 100644 --- a/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml @@ -43,7 +43,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: recommendationservice + image: shaheergooglepracticeregistry.azurecr.io/recommendationservice:latest ports: - containerPort: 8080 readinessProbe: diff --git a/microservices-demo-main/kubernetes-manifests/shippingservice.yaml b/microservices-demo-main/kubernetes-manifests/shippingservice.yaml index 41cd526..464b708 100644 --- a/microservices-demo-main/kubernetes-manifests/shippingservice.yaml +++ b/microservices-demo-main/kubernetes-manifests/shippingservice.yaml @@ -42,7 +42,7 @@ spec: - ALL privileged: false readOnlyRootFilesystem: true - image: shippingservice + image: shaheergooglepracticeregistry.azurecr.io/shippingservice:latest ports: - containerPort: 50051 env: From 63976646603aecbdb4c4806695266700cc768fdf Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 16:40:34 +0500 Subject: [PATCH 16/20] deploy manifests to aks and then apply --- .github/workflows/build_push.yml | 218 +++++++++++------------ .github/workflows/deployments_to_aks.yml | 9 +- 2 files changed, 114 insertions(+), 113 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index c4c67fe..149ce50 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -1,109 +1,109 @@ -name: Pull Docker Images from DockerHub and Deploy to AKS - -on: - push: - branches: - - dev - -permissions: - id-token: write - contents: read - -env: - DOCKERHUB_USERNAME: shaheer4636 - AZURE_REGION: 'australiaeast' - RESOURCE_GROUP: 'microservices-demo-rg' - AKS_CLUSTER_NAME: 'microservices-demo-aks' - ACR_NAME: 'shaheergooglepracticeregistry' - IMAGE_TAG: latest - -jobs: - pull_and_deploy: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Login to DockerHub - run: | - echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login --username ${{ env.DOCKERHUB_USERNAME }} --password-stdin - - - name: Login to Azure - uses: azure/login@v1.4.7 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - - - name: Login to ACR - run: | - az acr login --name ${{ env.ACR_NAME }} - - - name: Set up AKS Credentials - run: | - az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_CLUSTER_NAME }} - - - name: Pull and Push adservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push cartservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push currencyservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push emailservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push frontend image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} - - - name: Pull and Push loadgenerator image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} - - - name: Pull and Push paymentservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push productcatalogservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push recommendationservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push shippingservice image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} - - - name: Pull and Push shoppingassistants image - run: | - docker pull ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} - docker tag ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} +# name: Pull Docker Images from DockerHub and Deploy to AKS + +# on: +# push: +# branches: +# - dev + +# permissions: +# id-token: write +# contents: read + +# env: +# DOCKERHUB_USERNAME: shaheer4636 +# AZURE_REGION: 'australiaeast' +# RESOURCE_GROUP: 'microservices-demo-rg' +# AKS_CLUSTER_NAME: 'microservices-demo-aks' +# ACR_NAME: 'shaheergooglepracticeregistry' +# IMAGE_TAG: latest + +# jobs: +# pull_and_deploy: +# runs-on: ubuntu-latest + +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 + +# - name: Login to DockerHub +# run: | +# echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login --username ${{ env.DOCKERHUB_USERNAME }} --password-stdin + +# - name: Login to Azure +# uses: azure/login@v1.4.7 +# with: +# creds: ${{ secrets.AZURE_CREDENTIALS }} + +# - name: Login to ACR +# run: | +# az acr login --name ${{ env.ACR_NAME }} + +# - name: Set up AKS Credentials +# run: | +# az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_CLUSTER_NAME }} + +# - name: Pull and Push adservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push cartservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push currencyservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push emailservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push frontend image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} + +# - name: Pull and Push loadgenerator image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} + +# - name: Pull and Push paymentservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push productcatalogservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push recommendationservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push shippingservice image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} + +# - name: Pull and Push shoppingassistants image +# run: | +# docker pull ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} +# docker tag ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} +# docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} diff --git a/.github/workflows/deployments_to_aks.yml b/.github/workflows/deployments_to_aks.yml index f861e3b..43c5f16 100644 --- a/.github/workflows/deployments_to_aks.yml +++ b/.github/workflows/deployments_to_aks.yml @@ -10,16 +10,17 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout kubernetes-manifests directory only + - name: Checkout kubernetes-manifests directory run: | + # Create a directory to hold the manifests mkdir kubernetes-manifests cd kubernetes-manifests git init git remote add origin https://github.com/Shaheer4636/google-microservices-poc.git git config core.sparseCheckout true echo "microservices-demo-main/kubernetes-manifests/*" >> .git/info/sparse-checkout - git pull origin master - + git pull origin dev # Clone the manifests from the dev branch + - name: Log in to Azure uses: azure/login@v1 with: @@ -33,5 +34,5 @@ jobs: - name: Apply Kubernetes Manifests run: | - cd repo/microservices-demo-main/kubernetes-manifestss # Navigate to the correct path + cd kubernetes-manifests # Navigate to the kubernetes-manifests directory kubectl apply -f . # Apply all manifests in the directory From 0320bc2aba5157933c720f064d87c854d6647130 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 16:42:03 +0500 Subject: [PATCH 17/20] just apply the manifests --- .github/workflows/deployments_to_aks.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deployments_to_aks.yml b/.github/workflows/deployments_to_aks.yml index 43c5f16..01cd7e7 100644 --- a/.github/workflows/deployments_to_aks.yml +++ b/.github/workflows/deployments_to_aks.yml @@ -3,7 +3,7 @@ name: Deploy to AKS on Push to Dev on: push: branches: - - dev # Triggers on push to 'dev' branch + - dev jobs: deploy: @@ -35,4 +35,4 @@ jobs: - name: Apply Kubernetes Manifests run: | cd kubernetes-manifests # Navigate to the kubernetes-manifests directory - kubectl apply -f . # Apply all manifests in the directory + kubectl apply -f . \ No newline at end of file From 9dbc2b79fd0b352bab4057e27c6cd49163e2fa3a Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 16:46:25 +0500 Subject: [PATCH 18/20] apply via the links --- .github/workflows/deployments_to_aks.yml | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/deployments_to_aks.yml b/.github/workflows/deployments_to_aks.yml index 01cd7e7..e67cdee 100644 --- a/.github/workflows/deployments_to_aks.yml +++ b/.github/workflows/deployments_to_aks.yml @@ -3,24 +3,13 @@ name: Deploy to AKS on Push to Dev on: push: branches: - - dev + - dev # Triggers on push to 'dev' branch jobs: deploy: runs-on: ubuntu-latest steps: - - name: Checkout kubernetes-manifests directory - run: | - # Create a directory to hold the manifests - mkdir kubernetes-manifests - cd kubernetes-manifests - git init - git remote add origin https://github.com/Shaheer4636/google-microservices-poc.git - git config core.sparseCheckout true - echo "microservices-demo-main/kubernetes-manifests/*" >> .git/info/sparse-checkout - git pull origin dev # Clone the manifests from the dev branch - - name: Log in to Azure uses: azure/login@v1 with: @@ -34,5 +23,16 @@ jobs: - name: Apply Kubernetes Manifests run: | - cd kubernetes-manifests # Navigate to the kubernetes-manifests directory - kubectl apply -f . \ No newline at end of file + # Apply all manifest files directly from the URLs + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/adservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/cartservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/currencyservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/emailservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/frontend.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/kustomization.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/paymentservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/shippingservice.yaml From 997550996e012747d904d2f45d565d0ee76b880d Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 16:54:45 +0500 Subject: [PATCH 19/20] apply via the links and from the correct branch --- .github/workflows/deployments_to_aks.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/deployments_to_aks.yml b/.github/workflows/deployments_to_aks.yml index e67cdee..4bf56a1 100644 --- a/.github/workflows/deployments_to_aks.yml +++ b/.github/workflows/deployments_to_aks.yml @@ -24,15 +24,15 @@ jobs: - name: Apply Kubernetes Manifests run: | # Apply all manifest files directly from the URLs - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/adservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/cartservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/currencyservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/emailservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/frontend.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/kustomization.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/paymentservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml - kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/master/microservices-demo-main/kubernetes-manifests/shippingservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/adservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/cartservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/checkoutservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/currencyservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/emailservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/frontend.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/kustomization.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/loadgenerator.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/paymentservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/productcatalogservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/recommendationservice.yaml + kubectl apply -f https://raw.githubusercontent.com/Shaheer4636/google-microservices-poc/dev/microservices-demo-main/kubernetes-manifests/shippingservice.yaml From 283d3dcf60d08514bfbb5ab46af4808647052d82 Mon Sep 17 00:00:00 2001 From: Shaheer4636 Date: Wed, 25 Sep 2024 17:02:16 +0500 Subject: [PATCH 20/20] checkout service was missing to be pushed to dockerhub --- .github/workflows/build_push.yml | 224 ++++++++++++++++--------------- 1 file changed, 115 insertions(+), 109 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 149ce50..a8d7c5a 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -1,109 +1,115 @@ -# name: Pull Docker Images from DockerHub and Deploy to AKS - -# on: -# push: -# branches: -# - dev - -# permissions: -# id-token: write -# contents: read - -# env: -# DOCKERHUB_USERNAME: shaheer4636 -# AZURE_REGION: 'australiaeast' -# RESOURCE_GROUP: 'microservices-demo-rg' -# AKS_CLUSTER_NAME: 'microservices-demo-aks' -# ACR_NAME: 'shaheergooglepracticeregistry' -# IMAGE_TAG: latest - -# jobs: -# pull_and_deploy: -# runs-on: ubuntu-latest - -# steps: -# - name: Checkout code -# uses: actions/checkout@v3 - -# - name: Login to DockerHub -# run: | -# echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login --username ${{ env.DOCKERHUB_USERNAME }} --password-stdin - -# - name: Login to Azure -# uses: azure/login@v1.4.7 -# with: -# creds: ${{ secrets.AZURE_CREDENTIALS }} - -# - name: Login to ACR -# run: | -# az acr login --name ${{ env.ACR_NAME }} - -# - name: Set up AKS Credentials -# run: | -# az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_CLUSTER_NAME }} - -# - name: Pull and Push adservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push cartservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push currencyservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push emailservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push frontend image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} - -# - name: Pull and Push loadgenerator image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} - -# - name: Pull and Push paymentservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push productcatalogservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push recommendationservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push shippingservice image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} - -# - name: Pull and Push shoppingassistants image -# run: | -# docker pull ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} -# docker tag ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} -# docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} +name: Pull Docker Images from DockerHub and Deploy to AKS + +on: + push: + branches: + - dev + +permissions: + id-token: write + contents: read + +env: + DOCKERHUB_USERNAME: shaheer4636 + AZURE_REGION: 'australiaeast' + RESOURCE_GROUP: 'microservices-demo-rg' + AKS_CLUSTER_NAME: 'microservices-demo-aks' + ACR_NAME: 'shaheergooglepracticeregistry' + IMAGE_TAG: latest + +jobs: + pull_and_deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login to DockerHub + run: | + echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login --username ${{ env.DOCKERHUB_USERNAME }} --password-stdin + + - name: Login to Azure + uses: azure/login@v1.4.7 + with: + creds: ${{ secrets.AZURE_CREDENTIALS }} + + - name: Login to ACR + run: | + az acr login --name ${{ env.ACR_NAME }} + + - name: Set up AKS Credentials + run: | + az aks get-credentials --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_CLUSTER_NAME }} + + # - name: Pull and Push adservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/adservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/adservice:${{ env.IMAGE_TAG }} + + - name: Pull and Push checkout image + run: | + docker pull ${{ env.DOCKERHUB_USERNAME }}/checkoutservice:${{ env.IMAGE_TAG }} + docker tag ${{ env.DOCKERHUB_USERNAME }}/checkoutservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/checkoutservice:${{ env.IMAGE_TAG }} + docker push ${{ env.ACR_NAME }}.azurecr.io/checkoutservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push cartservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/cartservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/cartservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push currencyservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/currencyservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/currencyservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push emailservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/emailservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/emailservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push frontend image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/frontend:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/frontend:${{ env.IMAGE_TAG }} + + # - name: Pull and Push loadgenerator image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/loadgenerator:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/loadgenerator:${{ env.IMAGE_TAG }} + + # - name: Pull and Push paymentservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/paymentservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/paymentservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push productcatalogservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/productcatalog:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/productcatalogservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push recommendationservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/recommendationservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/recommendationservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push shippingservice image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/shippingservice:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/shippingservice:${{ env.IMAGE_TAG }} + + # - name: Pull and Push shoppingassistants image + # run: | + # docker pull ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} + # docker tag ${{ env.DOCKERHUB_USERNAME }}/shoppingassistants:${{ env.IMAGE_TAG }} ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }} + # docker push ${{ env.ACR_NAME }}.azurecr.io/shoppingassistants:${{ env.IMAGE_TAG }}