From cc0db0813fdde67027b2982782578fda6e9668d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alo=C3=AFs=20Coquillard?= Date: Fri, 29 May 2026 17:43:06 +0000 Subject: [PATCH 1/4] Ajouter .gitea/workflow/deploy-verso.yml --- .gitea/workflow/deploy-verso.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitea/workflow/deploy-verso.yml diff --git a/.gitea/workflow/deploy-verso.yml b/.gitea/workflow/deploy-verso.yml new file mode 100644 index 0000000000..e69de29bb2 From 3fe806fc0ed8d1d3b64913cbbe16ef45c1e11739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alo=C3=AFs=20Coquillard?= Date: Fri, 29 May 2026 17:46:19 +0000 Subject: [PATCH 2/4] Actualiser .gitea/workflows/deploy-verso.yml --- .gitea/workflow/deploy-verso.yml | 0 .gitea/workflows/deploy-verso.yml | 86 +++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) delete mode 100644 .gitea/workflow/deploy-verso.yml create mode 100644 .gitea/workflows/deploy-verso.yml diff --git a/.gitea/workflow/deploy-verso.yml b/.gitea/workflow/deploy-verso.yml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.gitea/workflows/deploy-verso.yml b/.gitea/workflows/deploy-verso.yml new file mode 100644 index 0000000000..0bd4ad86e9 --- /dev/null +++ b/.gitea/workflows/deploy-verso.yml @@ -0,0 +1,86 @@ +name: Build and Deploy Verso + +on: + push: + branches: + - main + workflow_dispatch: + +env: + IMAGE: registry.alocoq.fr/verso:latest + REPO_URL: https://git.alocoq.fr/alois/verso.git + +jobs: + deploy: + runs-on: native + timeout-minutes: 60 + + steps: + - name: Build and push image with Kaniko + run: | + kubectl -n ci delete job verso-kaniko --ignore-not-found=true + + cat <<'EOF' | kubectl apply -f - + apiVersion: batch/v1 + kind: Job + metadata: + name: verso-kaniko + namespace: ci + spec: + backoffLimit: 0 + template: + spec: + restartPolicy: Never + + initContainers: + - name: prepare + image: alpine/git:latest + command: + - sh + - -c + - | + set -eux + git clone --depth 1 https://git.alocoq.fr/alois/verso.git /workspace/repo + + volumeMounts: + - name: workspace + mountPath: /workspace + + containers: + - name: kaniko + image: gcr.io/kaniko-project/executor:debug + args: + - --context=dir:///workspace/repo/server-ce + - --dockerfile=/workspace/repo/server-ce/Dockerfile + - --destination=registry.alocoq.fr/verso:latest + volumeMounts: + - name: workspace + mountPath: /workspace + + volumes: + - name: workspace + emptyDir: {} + EOF + + - name: Wait for build + run: | + kubectl -n ci wait --for=condition=complete job/verso-kaniko --timeout=3600s + + - name: Show logs + if: always() + run: | + kubectl -n ci logs job/verso-kaniko -c prepare || true + kubectl -n ci logs job/verso-kaniko -c kaniko || true + + - name: Deploy + run: | + kubectl -n verso-dev set image deployment/verso \ + verso=registry.alocoq.fr/verso:latest + + kubectl -n verso-dev rollout restart deployment/verso + kubectl -n verso-dev rollout status deployment/verso + + - name: Cleanup + if: always() + run: | + kubectl -n ci delete job verso-kaniko --ignore-not-found=true \ No newline at end of file From 0771eeab436979a3a67dc3f937f20071f3fd42a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alo=C3=AFs=20Coquillard?= Date: Fri, 29 May 2026 17:58:05 +0000 Subject: [PATCH 3/4] Actualiser .gitea/workflows/deploy-verso.yml --- .gitea/workflows/deploy-verso.yml | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/deploy-verso.yml b/.gitea/workflows/deploy-verso.yml index 0bd4ad86e9..ae0762cfaa 100644 --- a/.gitea/workflows/deploy-verso.yml +++ b/.gitea/workflows/deploy-verso.yml @@ -47,20 +47,28 @@ jobs: mountPath: /workspace containers: - - name: kaniko - image: gcr.io/kaniko-project/executor:debug - args: - - --context=dir:///workspace/repo/server-ce - - --dockerfile=/workspace/repo/server-ce/Dockerfile - - --destination=registry.alocoq.fr/verso:latest + - name: buildkit + image: moby/buildkit:latest + securityContext: + privileged: true + command: + - sh + - -c + - | + set -eux + buildctl-daemonless.sh build \ + --frontend=dockerfile.v0 \ + --local context=/workspace/repo \ + --local dockerfile=/workspace/repo/server-ce \ + --opt filename=Dockerfile \ + --output type=image,name=registry.alocoq.fr/verso:latest,push=true volumeMounts: - name: workspace mountPath: /workspace - - volumes: - - name: workspace - emptyDir: {} - EOF + volumes: + - name: workspace + emptyDir: {} + EOF - name: Wait for build run: | From 4424286dfdd641299c029e3b6dd4954f167b34db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alo=C3=AFs=20Coquillard?= Date: Fri, 29 May 2026 18:01:08 +0000 Subject: [PATCH 4/4] Actualiser .gitea/workflows/deploy-verso.yml --- .gitea/workflows/deploy-verso.yml | 33 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/deploy-verso.yml b/.gitea/workflows/deploy-verso.yml index ae0762cfaa..21f480379b 100644 --- a/.gitea/workflows/deploy-verso.yml +++ b/.gitea/workflows/deploy-verso.yml @@ -13,18 +13,18 @@ env: jobs: deploy: runs-on: native - timeout-minutes: 60 + timeout-minutes: 90 steps: - - name: Build and push image with Kaniko + - name: Build and push image with BuildKit run: | - kubectl -n ci delete job verso-kaniko --ignore-not-found=true + kubectl -n ci delete job verso-buildkit --ignore-not-found=true cat <<'EOF' | kubectl apply -f - apiVersion: batch/v1 kind: Job metadata: - name: verso-kaniko + name: verso-buildkit namespace: ci spec: backoffLimit: 0 @@ -41,7 +41,6 @@ jobs: - | set -eux git clone --depth 1 https://git.alocoq.fr/alois/verso.git /workspace/repo - volumeMounts: - name: workspace mountPath: /workspace @@ -56,6 +55,7 @@ jobs: - -c - | set -eux + buildctl-daemonless.sh build \ --frontend=dockerfile.v0 \ --local context=/workspace/repo \ @@ -65,30 +65,31 @@ jobs: volumeMounts: - name: workspace mountPath: /workspace - volumes: - - name: workspace - emptyDir: {} - EOF + + volumes: + - name: workspace + emptyDir: {} + EOF - name: Wait for build run: | - kubectl -n ci wait --for=condition=complete job/verso-kaniko --timeout=3600s + kubectl -n ci wait --for=condition=complete job/verso-buildkit --timeout=5400s - name: Show logs if: always() run: | - kubectl -n ci logs job/verso-kaniko -c prepare || true - kubectl -n ci logs job/verso-kaniko -c kaniko || true + kubectl -n ci logs job/verso-buildkit -c prepare || true + kubectl -n ci logs job/verso-buildkit -c buildkit || true - name: Deploy run: | - kubectl -n verso-dev set image deployment/verso \ + kubectl -n test set image deployment/verso \ verso=registry.alocoq.fr/verso:latest - kubectl -n verso-dev rollout restart deployment/verso - kubectl -n verso-dev rollout status deployment/verso + kubectl -n test rollout restart deployment/verso + kubectl -n test rollout status deployment/verso - name: Cleanup if: always() run: | - kubectl -n ci delete job verso-kaniko --ignore-not-found=true \ No newline at end of file + kubectl -n ci delete job verso-buildkit --ignore-not-found=true \ No newline at end of file