标签: tekton-pipelines

将 ENV 变量从一个 Tekton Task 步骤传递到下一个步骤?

因此,Tekton Pipelines允许您创建单独的任务并将它们连接到云原生 ci/cd 管道中。它太酷了。但正如你所想象的那样,你认为很简单的事情其实很棘手。例如,我试图将 Kaniko 执行程序作为任务运行,但该执行程序需要特定参数。我可以对这些 args 进行硬编码,但这会降低任务的可重用性,因此我希望之前的任务只是从源和输出读取配置文件,或者为后续任务设置 env 变量。不知道如何做到这一点。就 Kaniko 而言,它真的很棘手,因为您没有任何外壳或任何东西。有什么建议?

这是他们文档中的一个示例任务,我对其进行了调整以显示我正在尝试做的事情。

apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
  name: example-task-name
spec:
  inputs:
    resources:
      - name: workspace
        type: git
    params:
      - name: pathToDockerFile
        type: string
        description: The path to the dockerfile to build
        default: /workspace/workspace/Dockerfile
  outputs:
    resources:
      - name: builtImage
        type: image
  steps:
    - name: ubuntu-example
      image: ubuntu
      args: "export FOO=bar"
    - image: gcr.io/example-builders/build-example
      command: ["echo $FOO"]
Run Code Online (Sandbox Code Playgroud)

tekton tekton-pipelines

5
推荐指数
1
解决办法
1214
查看次数

从 Tekton 中的另一个管道触发管道

我有 2 个TektonPipelineA. B我想B在管道A完成时触发管道的执行。

我当前的解决方法是Task在管道末尾A将 REST 请求发送到 Tekton EventListener(这已经是我系统的一部分,因为管道A从 GitLab 构建代码,所以它监听 GitLab 事件)。所以我只是屏蔽我的请求,就好像它来自 GitLab 并B触发了管道一样。

我想知道这里是否有更好的方法?我知道管道内的管道功能,但似乎一个管道中的步骤将包含到另一个管道中,这不是我想要的。

提前致谢!

tekton tekton-pipelines

4
推荐指数
1
解决办法
1740
查看次数

失败后继续 Tekton 管道(类似于 jenkins 管道 catchError 行为)

我有一个我想要的管道:

  1. 提供一些资源,
  2. 运行一些测试,
  3. 拆资源。

我希望在第 3 步中的拆卸任务在第 2 步中运行,不管测试是通过还是失败。据我所知,如果前一个任务成功,runAfter只会运行一个任务。

我尝试查看Condition,但似乎找不到示例...

我可以使用的其他任何东西或有人可以指出我的一些例子吗?

jenkins-pipeline tekton tekton-pipelines openshift-pipelines

3
推荐指数
1
解决办法
774
查看次数