问题标签 [tekton-pipelines]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
120 浏览

tekton-pipelines - 如何运行需要多个容器的任务?

这是我的第一个问题,所以请假设无知和积极的意图。

作为我们构建管道的一部分,我需要运行我们的开发团队所说的“单元测试”。这些单元测试通过 ant 目标运行。在运行那个 ant 目标之前,我们必须启动、配置和部分填充(ant 目标完成一些填充)几个容器,包括:

  • 应用服务器
  • LDAP 实例
  • postgres 实例

看起来好像每个任务只支持一个容器。有没有一种简单的方法可以让所有这些一起运行?理想情况下,我可以创建一个任务,允许我使用在该 pod 的一个容器中运行的命令指定一个 pod 模板。

我意识到我可以通过使用 openshift 客户端或 kubernetes 操作来解决这个问题,但我希望有一些更优雅的东西。我觉得使用这些任务中的任何一个都需要我构建状态感知、错误检查、重试逻辑等,这些可能已经是管道逻辑的一部分,然后解析 ant run 的输出以确定是否所有测试都是成功的。这是我第一次涉足 tekton,因此将不胜感激接受的模式或习语。

为了获得更大的上下文,我看到这些任务构成了我的管道:

  • 克隆 git 仓库
  • 将应用程序构建到中间映像中
  • 启动带有所有必要容器的 pod
  • 等待所有容器“就绪”
  • 执行 ant 目标以运行单元测试
  • 如果所有测试都通过构建运行时映像
  • 将工件从运行时映像复制到外部存储(用于在 openshift 之外部署)

感谢您的时间

0 投票
1 回答
151 浏览

openshift - Tekton 任务不扩展参数 (OpenShift)

我无法通过 CLI 或 TaskRun YAML 将参数传递给 Tekton 任务。

任务文件

任务运行文件

无论我是通过上面的 YAML 文件应用 TaskRun 还是运行,tkn task start --showlog ubuntu-test -p var=John我都会收到以下输出:

环境信息

0 投票
1 回答
181 浏览

tekton - Tekton 如何控制任务中的步骤顺序?

据我所知,吊舱中的容器没有启动或停止的顺序。但是 Tekton 是如何做到这一点的呢?我可以在文档“步骤在此列表中出现的顺序是它们将执行的顺序”中搜索结果。任何人都可以告诉它是如何工作的?

0 投票
1 回答
1184 浏览

openshift - 为什么将 Argo CD 与 Tekton 结合使用

我正在使用 Tekton 配置云原生 OpenShift CI/CD 流程。Tekton 可以选择通过事件触发,也可以选择直接部署到集群。鉴于此功能,我对 Argo CD 的理想用例感到困惑。

Argo CD 似乎与 Tekton 共享非常相似的功能,只是缺少运行构建的能力。如果我可以完全通过 Tekton 构建部署应用程序,Argo 有什么优势?

0 投票
0 回答
256 浏览

openshift - post"https://tekton-pipelines-webhook.openshift-pipelines.svc:443/?timeout=30s": x509: 证书由未知权威签署

我们已经在 Openshift 中安装了 tekton 管道操作符,当转到管道时,它无法加载并出现以下错误。

服务器错误:tekton.dev/v1alpha1 的转换 webhook,种类 = 任务失败:发布“https://tekton-pipelines-webhook.openshift-pipelines.svc:443/?timeout=30s”:x509:证书由未知签名权威

尝试遵循 WA,https://github.com/tektoncd/triggers/issues/875但它没有用。有什么想法吗?请帮忙

0 投票
0 回答
69 浏览

continuous-integration - 在 Tekton 中自动取消 PipelineRun(对于 PR)

TravisCI 有这个特性解释得最好:

自动取消拉取请求构建

如果您只对在每个分支上构建最近的提交感兴趣,您可以使用此新功能自动取消队列中尚未运行的旧构建。

如何使用 Tekton 实现相同的功能?

0 投票
0 回答
21 浏览

openshift - IBM Cloud-Native Toolkit 的 oc 管道错误

我有一个使用 Openshift 4.7 运行的集群。为了使用管道,我安装了 IBM Cloud-Native Toolkit。我的代码库在 Gitlab

当运行命令 oc pipeline --tekton --我有这个错误:

我认为这个错误是因为管道不能与 gitlab 正常工作。任何想法?

谢谢!!!!

0 投票
1 回答
335 浏览

kubernetes - Tekton 通过传递参数运行管道

我有一个 TektonPipelinePipelineRun定义。但是,我无法Pipeline通过传递参数实现运行。

尝试使用以下命令运行该运行器时如何传递参数kubectl create -f pipelinerun.yaml

例子:

value: $(REG_ADDRESS)-> 我想在运行管道之前传递注册表地址,而不是提供硬编码常量。

有任何想法吗?

0 投票
1 回答
131 浏览

kubernetes - Tekton pipeline - 通过 kubernetes/openshift api 启动 pipelinerun

只是想知道是否有办法通过 Kubernetes API 启动 Tekton 管道。我知道我们可以使用Triggerstkncli。但对于我的用例,API 将是一个更好的选择。有没有办法做到这一点?

我正在使用 OpenShift,但在 API 文档中找不到任何参考。

0 投票
1 回答
398 浏览

tekton - 除非以 root 身份运行,否则 Tekton 管道无法在工作区目录中创建文件

我想在工作区目录中创建一个文件。但只有当我以 root 身份运行时,我才能做到这一点

如果我将其留空或想以用户 1001 身份运行,它会给我触摸:无法触摸 '/workspace/workspace_folder/test.txt':权限被拒绝 似乎在创建工作区目录时它归用户 99 所有

重现问题的步骤

运行上述管道时的输出