问题标签 [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 投票
2 回答
364 浏览

kubernetes - 在 tekton 管道中使用 knctl/kubectl 将镜像部署到 Knative 服务

我正在阅读官方Tekton 文档kubectl,它使用标准部署对象清单将映像部署到 Kubernetes 。但是,我正在尝试使用 Tekton 管道作为 CI/CD 来部署在 knative 服务中,该服务应该使用knctlkubectl使用 knative 服务 yaml 而不是knative 服务规范的部署 yaml

就像是

在这种情况下,我如何利用 Tekton。如果我要将镜像安装到任何随机的 Kubenetes 集群,我可以使用任何其他 CI/CD 工具以及部署清单。我相信 Tekton 应该会取代 Knative 构建以使其变得简单。

0 投票
2 回答
234 浏览

kubernetes - deletecollection kubernetes (tekton) 资源 - 需要特定的 RBAC?

我正在尝试在具有集群上 kubernetes 配置的服务帐户的上下文中删除tekton kubernetes 资源,并且遇到特定于使用deletecollection所有 tekton 资源访问的错误。示例错误如下:

pipelines.tekton.dev 被禁止:用户“system:serviceaccount:my-account:default”无法删除命名空间“my-namespace”中 API 组“tekton.dev”中的集合资源“pipelines”

我曾尝试在此处应用RBAC来提供帮助,但仍然遇到相同的错误。我的 RBAC 尝试如下:

这些 RBAC 配置继续导致相同的错误。这是必要的还是类似的?在与 tekton 资源交互(特别是删除)时,是否有任何 RBAC 示例?

0 投票
1 回答
832 浏览

openshift - 如何在 Tekton 中设置通用 webhook 触发器

我想在 tekton 中设置一个 webhook 触发器。在文档中,我可以找到可用的 Github、Gitlab 和 bitbucket 触发器。但我想要一个处理 HTTP POST 并读取 JSON 正文的通用 webhook。

例如:我正在使用 Jenkins 的通用 webhook 触发器执行以下操作。

Prometheus Alertmanager 向 Jenkins 的 Generic webhook 发送 HTTP POST,然后 Jenkins 处理 JSON 正文并开始构建。

我想和 Tekton 一样。Alertmanager 向 Tekton webhook 发送一个 HTTP POST,它将处理 JSON 主体并开始构建。

这对 Tekton 的 webhook 触发器可行吗?这在 tekton 中尚不可用,还是我缺少文档中的某些内容

如果有人已经这样做了,你能指出我正确的方向吗?我正在使用 openshift 4.5

0 投票
1 回答
193 浏览

tekton - 使用具有多个部署的多个存储库实施 Tekton 的最佳实践是什么

我们有多个存储库,在 K8S 中有多个部署。今天,我们拥有具有以下设置的 Tekton:

  1. 我们有 3 个不同的项目,应该构建相同并部署(它们只是不同的 repo 和不同的名称)
  2. 我们定义了 3 个任务:构建镜像、部署到 S3 和部署到 K8S 集群。
  3. 我们定义了 1 个从 PipelineRun 接受参数的管道。

我们的问题是我们想从 GitHub 外部获取 Webhooks 并自动运行适当的 Pipeline 而无需使用参数运行它。此外,我们希望能够让 PipelineRun 具有默认参数,以便用户可以自动调用部署。

那么 - 我们的配置和设置似乎还可以吗?我们应该做一些不同的事情吗?

0 投票
1 回答
241 浏览

tekton - Tekton 管道 - 显示在仪表板上的秘密

只是想知道是否有一种方法可以停止显示我在 tekton 仪表板上创建的秘密。例如 -

在运行以下命令的 tekton 任务中 -

在此处输入图像描述

$APIKEY 是从创建的秘密资源中提取的。

在仪表板中,我看到运行上述命令时显示了 API 密钥 -

在此处输入图像描述

0 投票
2 回答
445 浏览

kubernetes - 如何等待 tekton pipelinRun 条件

我在 gitlab 管道中有以下代码,导致某种竞争条件:

tkn命令立即退出,因为 pipelineRun 对象尚未创建。这个问题有一个非常好的解决方案:

不幸的是,这没有按预期工作,因为Running它似乎不是 pipelineRun 对象的有效条件。所以我的问题是:pipelineRun 对象的有效条件是什么?

0 投票
1 回答
788 浏览

gitlab - Gitlab webhook 可以用来触发 Tekton Pipelines 吗?

我有一个由 GitHub webhook 成功触发的工作 Tekton Pipeline,但它不适用于 Gitlab webhook。我可以看到 Gitlab webhook 被触发并且它到达了 OpenShift 中的 EventListener 容器,但是 Pipeline 本身没有运行。那么,它是否适用于 Gitlab webhook?如果是这样,是否需要设置或更改某些内容才能真正触发管道?

谢谢!塞萨尔

0 投票
1 回答
67 浏览

ibm-cloud - IBM Cloud:如何将 Tekton Catalog 添加到持续交付工具链配置中?

我正在使用IBM Cloud 中的持续交付服务。我的工具链是使用 YAML 文件定义的,并存储在我的 GitHubcode 存储库的.bluemix目录中。我正在使用 Tekton 作为管道。如何将Tekton Catalog添加到工具链中?它应该是一个现有的 repo,不能被克隆或分叉。

指定现有而不是克隆作为类型不起作用。

0 投票
1 回答
805 浏览

docker - Kaniko:如何使用 Tekton 在 Kubernetes 中缓存来自 Gatsby 构建的文件夹?

我正在裸机 Kubernetes 集群上使用Tekton构建 CI/CD 管道。我已经设法缓存了必要的图像(节点和 Nginx)和图层,但是如何缓存Gatsby build创建的 .cache / public 文件夹?这些文件夹不存在于 repo 中。如果构建步骤没有找到这些文件夹需要更长时间,因为它需要使用 Sharp 创建所有图像。

管道附有 PVC。在任务中它被称为(工作区)。更清楚地说,如何在构建完成后将 Gatsby 文件夹复制到此 PVC 并在下一次构建之前复制到 Kaniko 容器?

Tekton 任务具有以下步骤:

  1. 使用 Kaniko warmer 缓存 Docker 构建中使用的 Docker 镜像
  2. 创建一个时间戳,以便每次都执行“RUN build”,即使文件没有更改,因为它运行 GraphQL 查询
  3. 使用 Kaniko 构建和推送镜像
  4. & 5. 导出管道中下一步使用的图像摘要

Dockerfile

0 投票
1 回答
280 浏览

docker - 如何验证我的 buildah 容器映像实际上是在我的 Tekton Task 中创建的

我正在我的 Kind 集群上创建一个 Tekton 管道。我有一个Taskstep一个使用 buildah 构建容器映像的地方。现在我想验证容器镜像是否真的被创建了。

所以在接下来step,我尝试“查看”我的容器图像(使用ls)。我已经将一个emptyDir卷安装到Task,并且我的安装路径是/var/lib/containers(默认情况下 buildah 放置其工件的位置)。我试过ls /var/lib/containers在下面做一个step,但我得到了no such file or directory回应。我想这是因为第二个step发生在一个新容器中?但我认为该卷存在于我的所有容器中,用于这个特定的Task. 如您所见,我对它的工作原理不是很了解。

那么有什么好的方法来验证我的容器镜像是真的创建的吗?例如,我可以在Task完成后阻止 pod 终止,以便我可以进入容器并浏览文件系统或其他东西吗?

这是Task定义: