【问题标题】:Tekton YAML TriggerTemplate - string substitutionTekton YAML TriggerTemplate - 字符串替换
【发布时间】:2022-11-25 15:48:14
【问题描述】:

我有这种 yaml 文件来定义触发器 `

apiVersion: triggers.tekton.dev/v1alpha1
kind: TriggerTemplate
metadata:
  name: app-template-pr-deploy
spec:
  params:
    - name: target-branch
    - name: commit
    - name: actor
    - name: pull-request-number
    - name: namespace
  resourcetemplates:
    - apiVersion: tekton.dev/v1alpha1
      kind: PipelineRun
      metadata:
        generateName: app-pr-$(tt.params.actor)-
        labels:
          actor: $(tt.params.actor)
      spec:
        serviceAccountName: myaccount
        pipelineRef:
          name: app-pr-deploy
        podTemplate:
          nodeSelector:
            location: somelocation
        params:
          - name: branch
            value: $(tt.params.target-branch)
**          - name: namespace
            value: $(tt.params.target-branch)**
          - name: commit
            value: $(tt.params.commit)
          - name: pull-request-number
            value: $(tt.params.pull-request-number)
        resources:
          - name: app-cluster
            resourceRef:
              name: app-location-cluster

` 问题是有时目标分支就像“集成/功能”,然后命名空间无效 我想检查值中是否有无效字符,如果有则替换它。

有什么办法吗?

除了稍后在管道中通过 shell 脚本创建一个任务来执行它之外,没有找到任何有价值的方法来做到这一点。

【问题讨论】:

    标签: triggers yaml tekton


    【解决方案1】:

    这是您可以从 EventListener 执行的操作,使用诸如:

    apiVersion: triggers.tekton.dev/v1alpha1
    kind: EventListener
    metadata:
      name: xx
    spec:
      triggers:
      - name: demo
        interceptors:
        - name: addvar
          ref:
            name: cel
          params:
          - name: overlays
            value:
            - key: branch_name
              expression: "body.ref.split('/')[2]"
        bindings:
        - ref: your-triggerbinding
        template:
          ref: your-triggertemplate
    

    然后,从您的 TriggerTemplate,您将添加从 EventListener 解析的“branch_name”参数。

    注意:来自 git 通知的负载可能会有所不同。以上示例对 github 有效。将 remote/origin/master 翻译成 master,或将 abc/def/ghi/jkl 翻译成 ghi。

    【讨论】:

      猜你喜欢
      • 2020-05-16
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      • 2011-06-17
      • 2015-08-05
      • 2019-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多