From 81748614ea07acab449ba53a983b39f291a7c648 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sun, 11 Jan 2026 21:06:25 +0900 Subject: [PATCH] FEAT(tekton): add develop branch CI/CD triggers - Add gitea-push-nextjs-dev trigger for jaejadle - Add gitea-push-fastapi-dev trigger for joossam - Add nextjs-dev-build-template for -dev deployments - Add fastapi-dev-build-template for -dev deployments --- .../manifests/triggers/eventlistener.yaml | 59 ++++++++++ .../manifests/triggers/triggertemplate.yaml | 110 ++++++++++++++++++ 2 files changed, 169 insertions(+) diff --git a/tekton/ci-cd/manifests/triggers/eventlistener.yaml b/tekton/ci-cd/manifests/triggers/eventlistener.yaml index 537cfe1..ff2b49a 100644 --- a/tekton/ci-cd/manifests/triggers/eventlistener.yaml +++ b/tekton/ci-cd/manifests/triggers/eventlistener.yaml @@ -64,6 +64,65 @@ spec: - ref: gitea-push-binding template: ref: fastapi-build-template + # Develop branch triggers for -dev deployments + - name: gitea-push-nextjs-dev + interceptors: + - ref: + name: "github" + params: + - name: "secretRef" + value: + secretName: gitea-webhook-secret + secretKey: webhook-secret + - name: "eventTypes" + value: ["push"] + - ref: + name: "cel" + params: + - name: "filter" + value: "body.ref.startsWith('refs/heads/develop')" + - name: "overlays" + value: + - key: branch_name + expression: "body.ref.split('/')[2]" + - ref: + name: "cel" + params: + - name: "filter" + value: "body.repository.name in ['jaejadle']" + bindings: + - ref: gitea-push-binding + template: + ref: nextjs-dev-build-template + - name: gitea-push-fastapi-dev + interceptors: + - ref: + name: "github" + params: + - name: "secretRef" + value: + secretName: gitea-webhook-secret + secretKey: webhook-secret + - name: "eventTypes" + value: ["push"] + - ref: + name: "cel" + params: + - name: "filter" + value: "body.ref.startsWith('refs/heads/develop')" + - name: "overlays" + value: + - key: branch_name + expression: "body.ref.split('/')[2]" + - ref: + name: "cel" + params: + - name: "filter" + value: "body.repository.name in ['joossam']" + bindings: + - ref: gitea-push-binding + template: + ref: fastapi-dev-build-template resources: kubernetesResource: spec: diff --git a/tekton/ci-cd/manifests/triggers/triggertemplate.yaml b/tekton/ci-cd/manifests/triggers/triggertemplate.yaml index fa6295c..4e385d5 100644 --- a/tekton/ci-cd/manifests/triggers/triggertemplate.yaml +++ b/tekton/ci-cd/manifests/triggers/triggertemplate.yaml @@ -55,6 +55,61 @@ spec: --- apiVersion: triggers.tekton.dev/v1beta1 kind: TriggerTemplate +metadata: + name: nextjs-dev-build-template + namespace: tekton-pipelines +spec: + params: + - name: git-url + description: Git repository URL + - name: git-revision + description: Git commit SHA + - name: git-branch + description: Git branch name + - name: repo-name + description: Repository name + - name: repo-full-name + description: Full repository name (org/repo) + resourcetemplates: + - apiVersion: tekton.dev/v1 + kind: PipelineRun + metadata: + generateName: $(tt.params.repo-name)-dev-build- + namespace: tekton-pipelines + labels: + tekton.dev/pipeline: nextjs-build-deploy + app: $(tt.params.repo-name)-dev + branch: $(tt.params.git-branch) + spec: + timeouts: + pipeline: 30m + pipelineRef: + name: nextjs-build-deploy + params: + - name: git-url + value: $(tt.params.git-url) + - name: git-revision + value: $(tt.params.git-branch) + - name: app-name + value: $(tt.params.repo-name)-dev + - name: context-dir + value: ./nextjs + workspaces: + - name: shared-workspace + volumeClaimTemplate: + spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 1Gi + - name: docker-credentials + secret: + secretName: zot-registry-credentials +--- +apiVersion: triggers.tekton.dev/v1beta1 +kind: TriggerTemplate metadata: name: fastapi-build-template namespace: tekton-pipelines @@ -107,3 +162,58 @@ spec: - name: docker-credentials secret: secretName: zot-registry-credentials +--- +apiVersion: triggers.tekton.dev/v1beta1 +kind: TriggerTemplate +metadata: + name: fastapi-dev-build-template + namespace: tekton-pipelines +spec: + params: + - name: git-url + description: Git repository URL + - name: git-revision + description: Git commit SHA + - name: git-branch + description: Git branch name + - name: repo-name + description: Repository name + - name: repo-full-name + description: Full repository name (org/repo) + resourcetemplates: + - apiVersion: tekton.dev/v1 + kind: PipelineRun + metadata: + generateName: $(tt.params.repo-name)-dev-build- + namespace: tekton-pipelines + labels: + tekton.dev/pipeline: fastapi-build-deploy + app: $(tt.params.repo-name)-dev + branch: $(tt.params.git-branch) + spec: + timeouts: + pipeline: 30m + pipelineRef: + name: fastapi-build-deploy + params: + - name: git-url + value: $(tt.params.git-url) + - name: git-revision + value: $(tt.params.git-branch) + - name: app-name + value: $(tt.params.repo-name)-dev + - name: context-dir + value: ./fastapi + workspaces: + - name: shared-workspace + volumeClaimTemplate: + spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 1Gi + - name: docker-credentials + secret: + secretName: zot-registry-credentials