From 7eb908b3f724b11103a4ac0a364766c71b9f0c0c Mon Sep 17 00:00:00 2001 From: Dustin Pianalto Date: Sat, 2 Oct 2021 15:33:14 -0800 Subject: [PATCH] Build multiarch and auto deploy --- .github/workflows/main.yml | 28 +++++++++++++++++++++++++--- deployment.yml | 6 +++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4252299..2456ffe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ on: jobs: build: - runs-on: self-hosted + runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -21,6 +21,12 @@ jobs: id: get_version uses: battila7/get-version-action@v2.0.0 + - name: install buildx + id: buildx + uses: crazy-max/ghaction-docker-buildx@v1 + with: + version: latest + - name: Docker Login # You may pin to the exact commit or the version. # uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 @@ -38,5 +44,21 @@ jobs: env: IMAGE_TAG: ${{ steps.get_version.outputs.version-without-v }} run: | - docker build -t ${{ secrets.DR_URL }}/snowflake-server:$IMAGE_TAG . - docker push ${{ secrets.DR_URL }}/snowflake-server:$IMAGE_TAG \ No newline at end of file + docker buildx build --push \ + --tag ${{ secrets.DR_URL }}/snowflake-server:$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||${{ secrets.DR_URL }}/snowflake-server:'${TAG}'|' $GITHUB_WORKSPACE/deployment.yml + + - uses: azure/k8s-set-context@v1 + with: + method: kubeconfig + kubeconfig: ${{ secrets.KUBE_CONFIG }} + id: setcontext + + - name: Deploy to Kubernetes + run: kubectl apply -f $GITHUB_WORKSPACE/deployment.yml + + - name: Verify deployment + run: kubectl rollout status deployment/snowflake-server diff --git a/deployment.yml b/deployment.yml index 57d7afe..70164d0 100644 --- a/deployment.yml +++ b/deployment.yml @@ -2,7 +2,7 @@ kind: Service apiVersion: v1 metadata: name: snowflake-server - namespace: default + namespace: snowflake labels: environment: production spec: @@ -25,7 +25,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: snowflake-server - namespace: default + namespace: snowflake labels: app: snowflake-server spec: @@ -56,4 +56,4 @@ spec: name: snowflake key: worker_id imagePullSecrets: - - name: regcred + - name: registry-2 \ No newline at end of file