Update docker-image.yml

This commit is contained in:
Mel van Veen
2024-12-03 09:48:44 +01:00
committed by GitHub
parent 5380de654b
commit 9af54e9671

View File

@@ -6,9 +6,6 @@ on:
pull_request: pull_request:
branches: [ "main" ] branches: [ "main" ]
env:
VERSION: "$(cat package.json | jq -r '.version')"
jobs: jobs:
build-and-push: build-and-push:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -20,7 +17,7 @@ jobs:
# Stap 2: Versienummer ophalen uit package.json # Stap 2: Versienummer ophalen uit package.json
- name: Extract Angular version - name: Extract Angular version
id: get_version id: get_version
run: echo "VERSION=$(cat package.json | jq -r '.version')" >> $GITHUB_ENV run: echo "::set-output name=version::$(cat package.json | jq -r '.version')"
# Stap 3: Inloggen bij Docker Hub # Stap 3: Inloggen bij Docker Hub
- name: Log in to Docker Hub - name: Log in to Docker Hub
@@ -31,11 +28,11 @@ jobs:
# Stap 4: Docker-image bouwen en taggen met Angular-versie # Stap 4: Docker-image bouwen en taggen met Angular-versie
- name: Build the Docker image - name: Build the Docker image
run: docker build . --file Dockerfile --tag veenm/weetikveel:${{ env.VERSION }} --tag veenm/weetikveel:latest run: docker build . --file Dockerfile --tag veenm/weetikveel:${{ steps.get_version.outputs.version }} --tag veenm/weetikveel:latest
# Stap 5: Docker-image pushen naar Docker Hub (huidige versie tag) # Stap 5: Docker-image pushen naar Docker Hub (huidige versie tag)
- name: Push the Docker image (version) - name: Push the Docker image (version)
run: docker push veenm/weetikveel:${{ env.VERSION }} run: docker push veenm/weetikveel:${{ steps.get_version.outputs.version }}
# Stap 6: Docker-image pushen naar Docker Hub (latest tag) # Stap 6: Docker-image pushen naar Docker Hub (latest tag)
- name: Push the Docker image (latest) - name: Push the Docker image (latest)
@@ -46,10 +43,14 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# Stap 1: Code ophalen
- uses: actions/checkout@v4
- name: Use Variable # Stap 2: Gebruik de versie uit de vorige job
run: echo "${{ env.VERSION }}" - name: Read Version
# Stap 1: Maak verbinding via SSH naar de TrueNAS SCALE server run: echo "De versie is: ${{ needs.build-and-push.outputs.version }}"
# Stap 3: Maak verbinding via SSH naar de TrueNAS SCALE server
- name: SSH into TrueNAS SCALE - name: SSH into TrueNAS SCALE
uses: appleboy/ssh-action@v0.1.10 uses: appleboy/ssh-action@v0.1.10
with: with:
@@ -58,18 +59,18 @@ jobs:
password: ${{ secrets.TRUENAS_PASSWORD }} password: ${{ secrets.TRUENAS_PASSWORD }}
port: ${{ secrets.TRUENAS_PORT }} port: ${{ secrets.TRUENAS_PORT }}
script: | script: |
# Stap 2: K3s Kubernetes-configuratie instellen # Kubernetes-configuratie instellen
export KUBEVERSION=/etc/rancher/k3s/k3s.yaml export KUBEVERSION=/etc/rancher/k3s/k3s.yaml
export KUBECONFIG=$KUBEVERSION export KUBECONFIG=$KUBEVERSION
# Update deployment
k3s kubectl apply -f deployment.yaml k3s kubectl apply -f deployment.yaml
k3s kubectl apply -f service.yaml k3s kubectl apply -f service.yaml
# Stap 4: Update de Kubernetes deployment (optioneel, vervang bestaande image) # Update image in deployment
k3s kubectl set image deployment/weetikveel weetikveel=veenm/weetikveel:${{ env.VERSION }} --record k3s kubectl set image deployment/weetikveel weetikveel=veenm/weetikveel:${{ needs.build-and-push.outputs.version }} --record
# Stap 5: Controleer de status van de pods en services # Controle en status
k3s kubectl rollout status deployment/weetikveel k3s kubectl rollout status deployment/weetikveel
k3s kubectl get pods k3s kubectl get pods
k3s kubectl get service k3s kubectl get service