From 2019dc4643079f45af6c3aadf4b306410d86ccbf Mon Sep 17 00:00:00 2001 From: Dustin Pianalto Date: Sat, 2 Oct 2021 14:13:28 -0800 Subject: [PATCH] Update GH action and deployment --- .github/workflows/main.yml | 46 ++++++++++++++++++++++++-------------- deployment.yml | 2 ++ 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 752cf78..78eaf28 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,32 +20,44 @@ jobs: - name: Get Version id: get_version uses: battila7/get-version-action@v2.0.0 - - - name: Build container image - env: - IMAGE_TAG: ${{ steps.get_version.outputs.version-without-v }} - run: docker build -t registry.digitalocean.com/djpianalto/goff:$IMAGE_TAG . - - - name: Install doctl - uses: digitalocean/action-doctl@v2 + + - name: install buildx + id: buildx + uses: crazy-max/ghaction-docker-buildx@v1 with: - token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} + version: latest - - name: Login to DigitalOcean Container Registry with short-lived credentials - run: doctl registry login --expiry-seconds 600 + - name: Docker Login + # You may pin to the exact commit or the version. + # uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + uses: docker/login-action@v1.10.0 + with: + registry: ${{ secrets.DR_URL }} + # Username used to log against the Docker registry + username: ${{ secrets.DH_USERNAME }} + # Password or personal access token used to log against the Docker registry + password: ${{ secrets.DH_PASSWORD }} + # Log out from the Docker registry at the end of a job + logout: true - - name: Push image to DigitalOcean Container Registry + - name: Docker Build & Push env: IMAGE_TAG: ${{ steps.get_version.outputs.version-without-v }} - run: docker push registry.digitalocean.com/djpianalto/goff:$IMAGE_TAG + run: | + docker buildx build --push \ + --tag ${{ secrets.DR_URL }}/goff:$IMAGE_TAG \ + --platform linux/amd64,linux/arm/v7,linux/arm64 . - name: Update deployment file - run: TAG=${{ steps.get_version.outputs.version-without-v }} && sed -i 's||registry.digitalocean.com/djpianalto/goff:'${TAG}'|' $GITHUB_WORKSPACE/deployment.yml + run: TAG=${{ steps.get_version.outputs.version-without-v }} && sed -i 's||${{ secrets.DR_URL }}/goff:'${TAG}'|' $GITHUB_WORKSPACE/deployment.yml - - name: Save DigitalOcean kubeconfig with short-lived credentials - run: doctl kubernetes cluster kubeconfig save --expiry-seconds 600 discord-bots + - uses: azure/k8s-set-context@v1 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + id: setcontext - - name: Deploy to DigitalOcean Kubernetes + - name: Deploy to Kubernetes run: kubectl apply -f $GITHUB_WORKSPACE/deployment.yml - name: Verify deployment diff --git a/deployment.yml b/deployment.yml index 2ca8f9c..0074575 100644 --- a/deployment.yml +++ b/deployment.yml @@ -44,3 +44,5 @@ spec: secretKeyRef: name: goff key: email_password + imagePullSecrets: + - name: registry-2