From 3519da52aa0351bfc2bfd5ae3112547344aac3d2 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 6 Mar 2025 11:31:30 +0100 Subject: [PATCH] all in one workflow --- .../{build.yaml => build-deploy.yaml} | 30 +++++++++++++- .forgejo/workflows/deploy.yaml | 39 ------------------- 2 files changed, 29 insertions(+), 40 deletions(-) rename .forgejo/workflows/{build.yaml => build-deploy.yaml} (52%) delete mode 100644 .forgejo/workflows/deploy.yaml diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build-deploy.yaml similarity index 52% rename from .forgejo/workflows/build.yaml rename to .forgejo/workflows/build-deploy.yaml index 18d91df..3b8eaaa 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build-deploy.yaml @@ -1,8 +1,9 @@ -name: Build Container Image +name: Build and Deploy on: push: branches: [main] + workflow_dispatch: jobs: build: @@ -34,3 +35,30 @@ jobs: tags: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_NAME }}:latest cache-from: type=gha cache-to: type=gha,mode=max + + deploy: + needs: build + runs-on: ubuntu-latest + container: catthehacker/ubuntu:act-latest + environment: + name: prod + url: https://serva.la/ + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Kubernetes config + run: | + mkdir -p $HOME/.kube + echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config + chmod 600 $HOME/.kube/config + + - name: Deploy to OpenShift + uses: docker://docker.io/appuio/oc:v4.16 + with: + entrypoint: /bin/bash + args: -c "oc -n ${NAMESPACE} apply --overwrite -f deployment/ && oc -n ${NAMESPACE} rollout restart deployment/servala" + env: + NAMESPACE: ${{ vars.NAMESPACE }} + KUBECONFIG: $HOME/.kube/config diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml deleted file mode 100644 index 1b97146..0000000 --- a/.forgejo/workflows/deploy.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Deploy - -on: - workflow_run: - workflows: ["Build Container Image"] - types: - - completed - branches: - - main - -jobs: - deploy: - runs-on: ubuntu-latest - container: catthehacker/ubuntu:act-latest - # Only run if the build workflow succeeded - if: ${{ github.event.workflow_run.conclusion == 'success' }} - - environment: - name: prod - url: https://serva.la/ - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Kubernetes config - run: | - mkdir -p $HOME/.kube - echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config - chmod 600 $HOME/.kube/config - - - name: Deploy to OpenShift - uses: docker://docker.io/appuio/oc:v4.16 - with: - entrypoint: /bin/bash - args: -c "oc -n ${NAMESPACE} apply --overwrite -f deployment/ && oc -n ${NAMESPACE} rollout restart deployment/servala" - env: - NAMESPACE: ${{ vars.NAMESPACE }} - KUBECONFIG: $HOME/.kube/config