aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2024-08-13 13:34:01 +0300
committerSyndamia <kamen@syndamia.com>2024-08-13 13:34:01 +0300
commit32723a5af46b6ba69bdcfd5284512ae9b9c8a636 (patch)
tree8bd3f8fab27421b18c2e7307d18ec9c107b5d24c
parent254d10e7eace94109103735cbc2f741fd22e1671 (diff)
downloadpico-web-32723a5af46b6ba69bdcfd5284512ae9b9c8a636.tar
pico-web-32723a5af46b6ba69bdcfd5284512ae9b9c8a636.tar.gz
pico-web-32723a5af46b6ba69bdcfd5284512ae9b9c8a636.zip
feat(main-branch): Now kubernetes storage works properly
-rw-r--r--.github/workflows/main-branch.yml33
-rw-r--r--kubernetes/demo-production-server-deployment.yaml4
2 files changed, 23 insertions, 14 deletions
diff --git a/.github/workflows/main-branch.yml b/.github/workflows/main-branch.yml
index e6eb096..ee3cafc 100644
--- a/.github/workflows/main-branch.yml
+++ b/.github/workflows/main-branch.yml
@@ -34,24 +34,31 @@ jobs:
with:
bump_version_scheme: norelease # PR must have one of these labels: release:major, release:minor, release:patch
+ # This emulates deploying to an actual (remote) cluster by first setting up the cluster on older commit and then rolling out current one
Deploy-kubernetes:
name: Deploy kubernetes cluster locally to an action
runs-on: ubuntu-latest
needs: Build-docker-and-push
steps:
- - run: sudo apt-get install -y socat
+ # Setup dependencies
+ - name: Install socat
+ run: sudo apt-get install -y socat
- uses: medyagh/setup-minikube@master
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 2
- name: Pull (release) docker image
run: |
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/pico-web-server:latest
+ - name: Configure demo data
+ run: |
+ kubectl cp ./demo/index.md /usr/share/demo/
- - name: Checkout previous
- uses: actions/checkout@v2
- with:
- fetch-depth: 2
- - run: |
+ # Setup old deployment
+ - name: Checkout previous commit
+ run: |
git checkout HEAD^
- cp -r ./demo /tmp/
+ # Deploy previous version
- name: Minikube deploy
run: |
kubectl apply -f kubernetes/
@@ -59,21 +66,23 @@ jobs:
- name: Using cluster
run: |
kubectl get all
- minikube service pico-web-server-service --url
echo -ne 'demo@/' | socat STDIO TCP:$(minikube service pico-web-server-service --url | cut -d/ -f3-)
+ # Setup current deployment
- name: Checkout current
- run: git checkout main
- - name: Using cluster
+ run: |
+ git checkout main
+ # Deploy current version
+ - name: Minikube deploy
run: |
kubectl apply -f kubernetes/
kubectl rollout status deployment/pico-web-server-deployment
- - name: Minikube use
+ - name: Using cluster
run: |
kubectl get all
- minikube service pico-web-server-service --url
echo -ne 'demo@/' | socat STDIO TCP:$(minikube service pico-web-server-service --url | cut -d/ -f3-)
+ # End
- name: Minikube stop
run: |
minikube stop
diff --git a/kubernetes/demo-production-server-deployment.yaml b/kubernetes/demo-production-server-deployment.yaml
index 62e140d..7262ea6 100644
--- a/kubernetes/demo-production-server-deployment.yaml
+++ b/kubernetes/demo-production-server-deployment.yaml
@@ -19,7 +19,7 @@ spec:
containers:
- name: pico-web-server-prod
image: syndamia/pico-web-server:latest
- args: [ 'demo,/usr/share/demo/,page.md' ]
+ args: [ 'demo,/usr/share/demo,page.md' ]
ports:
- containerPort: 8080
volumeMounts:
@@ -54,7 +54,7 @@ spec:
accessModes:
- ReadWriteOnce
hostPath:
- path: "/tmp/demo" # You'll have to manually copy ./demo to here
+ path: "/usr/share/demo" # You'll have to manually copy ./demo to here
---
apiVersion: v1
kind: PersistentVolumeClaim