问题标签 [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.
tekton-pipelines - 如何运行需要多个容器的任务?
这是我的第一个问题,所以请假设无知和积极的意图。
作为我们构建管道的一部分,我需要运行我们的开发团队所说的“单元测试”。这些单元测试通过 ant 目标运行。在运行那个 ant 目标之前,我们必须启动、配置和部分填充(ant 目标完成一些填充)几个容器,包括:
- 应用服务器
- LDAP 实例
- postgres 实例
看起来好像每个任务只支持一个容器。有没有一种简单的方法可以让所有这些一起运行?理想情况下,我可以创建一个任务,允许我使用在该 pod 的一个容器中运行的命令指定一个 pod 模板。
我意识到我可以通过使用 openshift 客户端或 kubernetes 操作来解决这个问题,但我希望有一些更优雅的东西。我觉得使用这些任务中的任何一个都需要我构建状态感知、错误检查、重试逻辑等,这些可能已经是管道逻辑的一部分,然后解析 ant run 的输出以确定是否所有测试都是成功的。这是我第一次涉足 tekton,因此将不胜感激接受的模式或习语。
为了获得更大的上下文,我看到这些任务构成了我的管道:
- 克隆 git 仓库
- 将应用程序构建到中间映像中
- 启动带有所有必要容器的 pod
- 等待所有容器“就绪”
- 执行 ant 目标以运行单元测试
- 如果所有测试都通过构建运行时映像
- 将工件从运行时映像复制到外部存储(用于在 openshift 之外部署)
感谢您的时间
openshift - Tekton 任务不扩展参数 (OpenShift)
我无法通过 CLI 或 TaskRun YAML 将参数传递给 Tekton 任务。
任务文件
任务运行文件
无论我是通过上面的 YAML 文件应用 TaskRun 还是运行,tkn task start --showlog ubuntu-test -p var=John
我都会收到以下输出:
环境信息
tekton - Tekton 如何控制任务中的步骤顺序?
据我所知,吊舱中的容器没有启动或停止的顺序。但是 Tekton 是如何做到这一点的呢?我可以在文档“步骤在此列表中出现的顺序是它们将执行的顺序”中搜索结果。任何人都可以告诉它是如何工作的?
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但它没有用。有什么想法吗?请帮忙
continuous-integration - 在 Tekton 中自动取消 PipelineRun(对于 PR)
TravisCI 有这个特性解释得最好:
如果您只对在每个分支上构建最近的提交感兴趣,您可以使用此新功能自动取消队列中尚未运行的旧构建。
如何使用 Tekton 实现相同的功能?
openshift - IBM Cloud-Native Toolkit 的 oc 管道错误
我有一个使用 Openshift 4.7 运行的集群。为了使用管道,我安装了 IBM Cloud-Native Toolkit。我的代码库在 Gitlab
当运行命令 oc pipeline --tekton --我有这个错误:
我认为这个错误是因为管道不能与 gitlab 正常工作。任何想法?
谢谢!!!!
kubernetes - Tekton 通过传递参数运行管道
我有一个 TektonPipeline
和PipelineRun
定义。但是,我无法Pipeline
通过传递参数实现运行。
尝试使用以下命令运行该运行器时如何传递参数kubectl create -f pipelinerun.yaml
?
例子:
value: $(REG_ADDRESS)
-> 我想在运行管道之前传递注册表地址,而不是提供硬编码常量。
有任何想法吗?
kubernetes - Tekton pipeline - 通过 kubernetes/openshift api 启动 pipelinerun
只是想知道是否有办法通过 Kubernetes API 启动 Tekton 管道。我知道我们可以使用Triggers
或tkn
cli。但对于我的用例,API 将是一个更好的选择。有没有办法做到这一点?
我正在使用 OpenShift,但在 API 文档中找不到任何参考。
tekton - 除非以 root 身份运行,否则 Tekton 管道无法在工作区目录中创建文件
我想在工作区目录中创建一个文件。但只有当我以 root 身份运行时,我才能做到这一点
如果我将其留空或想以用户 1001 身份运行,它会给我触摸:无法触摸 '/workspace/workspace_folder/test.txt':权限被拒绝 似乎在创建工作区目录时它归用户 99 所有