From 224160971314a541f94270d835eddfe56c63e7c8 Mon Sep 17 00:00:00 2001 From: NishaSharma14 <sharmanis14@gmail.com> Date: Wed, 18 Oct 2023 14:24:34 +0200 Subject: [PATCH] build: push image to Docker --- .../workflows/{build.yml => dev-build.yml} | 71 +++++++++++-------- 1 file changed, 41 insertions(+), 30 deletions(-) rename .github/workflows/{build.yml => dev-build.yml} (65%) diff --git a/.github/workflows/build.yml b/.github/workflows/dev-build.yml similarity index 65% rename from .github/workflows/build.yml rename to .github/workflows/dev-build.yml index 29e74086..38990b7c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/dev-build.yml @@ -1,8 +1,12 @@ name : Deploy to Dev +# on: +# push: +# branches: [development] + on: push: - branches: [development] + branches: [issue-#877] env: PROJECT_ID: ${{ secrets.GKE_PROJECT }} @@ -11,9 +15,10 @@ env: DEPLOYMENT_NAME: nmrxiv-nmrxiv-app SCHEDULER_DEPLOYMENT_NAME: nmrxiv-scheduler WORKER_DEPLOYMENT_NAME: nmrxiv-worker - REPOSITORY_NAME: nmrxiv-dev - APP_IMAGE: nmrxiv-app - NGINX_IMAGE: nmrxiv-nginx + DOCKER_HUB_USERNAME : ${{ secrets.DOCKER_HUB_USERNAME }} + DOCKER_HUB_PASSWORD : ${{ secrets.DOCKER_HUB_PASSWORD }} + REPOSITORY_NAME: nmrxiv + REPOSITORY_NAMESPACE: nfdi4chem jobs: php-unit-test: @@ -79,40 +84,46 @@ jobs: service_account_key: ${{ secrets.GKE_SA_KEY }} project_id: ${{ secrets.GKE_PROJECT }} - # Configure docker to use the gcloud command-line tool as a credential helper - - run: |- - gcloud auth configure-docker europe-west3-docker.pkg.dev - # Get the GKE credentials so we can deploy to the cluster + # Get the GKE credentials - uses: google-github-actions/get-gke-credentials@v0.3.0 with: cluster_name: ${{ env.GKE_CLUSTER }} location: ${{ env.GKE_ZONE }} credentials: ${{ secrets.GKE_SA_KEY }} - # Build the Docker image - - name: Build App Image - run: |- - docker build -f ./resources/ops/docker/app/app.dockerfile \ - --tag "europe-west3-docker.pkg.dev/$PROJECT_ID/$REPOSITORY_NAME/$APP_IMAGE:latest" \ - --build-arg GITHUB_SHA="$GITHUB_SHA" \ - --build-arg GITHUB_REF="$GITHUB_REF" \ - . - - name: Build Nginx Image - run: |- - docker build -f ./resources/ops/docker/nginx/nginx.dockerfile \ - --tag "europe-west3-docker.pkg.dev/$PROJECT_ID/$REPOSITORY_NAME/$NGINX_IMAGE:latest" \ - --build-arg GITHUB_SHA="$GITHUB_SHA" \ - --build-arg GITHUB_REF="$GITHUB_REF" \ - . - # Push the Docker image to Google Container Registry - - name: Publish App Image to GCR - run: |- - docker push "europe-west3-docker.pkg.dev/$PROJECT_ID/$REPOSITORY_NAME/$APP_IMAGE:latest" + - name: Log in to Docker Hub + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + with: + username: ${{ env.DOCKER_HUB_USERNAME }} + password: ${{ env.DOCKER_HUB_PASSWORD }} - - name: Publish Nginx Image to GCR - run: |- - docker push "europe-west3-docker.pkg.dev/$PROJECT_ID/$REPOSITORY_NAME/$NGINX_IMAGE:latest" + # Build and push the app Docker image + - name: Build and push App Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: ./resources/ops/docker/app/app.dockerfile + push: true + build-args: | + RELEASE_VERSION=dev-app-latest + tags: ${{ env.REPOSITORY_NAMESPACE }}/${{ env.REPOSITORY_NAME }}:dev-app-latest + username: ${{ env.DOCKER_HUB_USERNAME }} + password: ${{ env.DOCKER_HUB_PASSWORD }} + + # Build and push the nginx Docker image + - name: Build and push Nginx Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: ./resources/ops/docker/app/app.dockerfile + push: true + build-args: | + RELEASE_VERSION=dev-nginx-latest + tags: ${{ env.REPOSITORY_NAMESPACE }}/${{ env.REPOSITORY_NAME }}:dev-nginx-latest + username: ${{ env.DOCKER_HUB_USERNAME }} + password: ${{ env.DOCKER_HUB_PASSWORD }} + # Deploy the latest Docker image to the GKE cluster - name: Deploy run: |- kubectl rollout restart deployment/$DEPLOYMENT_NAME