问题标签 [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.
kubernetes - 在 tekton 管道中使用 knctl/kubectl 将镜像部署到 Knative 服务
我正在阅读官方Tekton 文档kubectl
,它使用标准部署对象清单将映像部署到 Kubernetes 。但是,我正在尝试使用 Tekton 管道作为 CI/CD 来部署在 knative 服务中,该服务应该使用knctl
或kubectl
使用 knative 服务 yaml 而不是knative 服务规范的部署 yaml
就像是
在这种情况下,我如何利用 Tekton。如果我要将镜像安装到任何随机的 Kubenetes 集群,我可以使用任何其他 CI/CD 工具以及部署清单。我相信 Tekton 应该会取代 Knative 构建以使其变得简单。
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 示例?
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
tekton - 使用具有多个部署的多个存储库实施 Tekton 的最佳实践是什么
我们有多个存储库,在 K8S 中有多个部署。今天,我们拥有具有以下设置的 Tekton:
- 我们有 3 个不同的项目,应该构建相同并部署(它们只是不同的 repo 和不同的名称)
- 我们定义了 3 个任务:构建镜像、部署到 S3 和部署到 K8S 集群。
- 我们定义了 1 个从 PipelineRun 接受参数的管道。
我们的问题是我们想从 GitHub 外部获取 Webhooks 并自动运行适当的 Pipeline 而无需使用参数运行它。此外,我们希望能够让 PipelineRun 具有默认参数,以便用户可以自动调用部署。
那么 - 我们的配置和设置似乎还可以吗?我们应该做一些不同的事情吗?
kubernetes - 如何等待 tekton pipelinRun 条件
我在 gitlab 管道中有以下代码,导致某种竞争条件:
该tkn
命令立即退出,因为 pipelineRun 对象尚未创建。这个问题有一个非常好的解决方案:
不幸的是,这没有按预期工作,因为Running
它似乎不是 pipelineRun 对象的有效条件。所以我的问题是:pipelineRun 对象的有效条件是什么?
gitlab - Gitlab webhook 可以用来触发 Tekton Pipelines 吗?
我有一个由 GitHub webhook 成功触发的工作 Tekton Pipeline,但它不适用于 Gitlab webhook。我可以看到 Gitlab webhook 被触发并且它到达了 OpenShift 中的 EventListener 容器,但是 Pipeline 本身没有运行。那么,它是否适用于 Gitlab webhook?如果是这样,是否需要设置或更改某些内容才能真正触发管道?
谢谢!塞萨尔
ibm-cloud - IBM Cloud:如何将 Tekton Catalog 添加到持续交付工具链配置中?
我正在使用IBM Cloud 中的持续交付服务。我的工具链是使用 YAML 文件定义的,并存储在我的 GitHubcode 存储库的.bluemix目录中。我正在使用 Tekton 作为管道。如何将Tekton Catalog添加到工具链中?它应该是一个现有的 repo,不能被克隆或分叉。
指定现有而不是克隆作为类型不起作用。
docker - Kaniko:如何使用 Tekton 在 Kubernetes 中缓存来自 Gatsby 构建的文件夹?
我正在裸机 Kubernetes 集群上使用Tekton构建 CI/CD 管道。我已经设法缓存了必要的图像(节点和 Nginx)和图层,但是如何缓存Gatsby build创建的 .cache / public 文件夹?这些文件夹不存在于 repo 中。如果构建步骤没有找到这些文件夹需要更长时间,因为它需要使用 Sharp 创建所有图像。
管道附有 PVC。在任务中它被称为源(工作区)。更清楚地说,如何在构建完成后将 Gatsby 文件夹复制到此 PVC 并在下一次构建之前复制到 Kaniko 容器?
Tekton 任务具有以下步骤:
- 使用 Kaniko warmer 缓存 Docker 构建中使用的 Docker 镜像
- 创建一个时间戳,以便每次都执行“RUN build”,即使文件没有更改,因为它运行 GraphQL 查询
- 使用 Kaniko 构建和推送镜像
- & 5. 导出管道中下一步使用的图像摘要
Dockerfile
docker - 如何验证我的 buildah 容器映像实际上是在我的 Tekton Task 中创建的
我正在我的 Kind 集群上创建一个 Tekton 管道。我有一个Task
第step
一个使用 buildah 构建容器映像的地方。现在我想验证容器镜像是否真的被创建了。
所以在接下来step
,我尝试“查看”我的容器图像(使用ls
)。我已经将一个emptyDir
卷安装到Task
,并且我的安装路径是/var/lib/containers
(默认情况下 buildah 放置其工件的位置)。我试过ls /var/lib/containers
在下面做一个step
,但我得到了no such file or directory
回应。我想这是因为第二个step
发生在一个新容器中?但我认为该卷存在于我的所有容器中,用于这个特定的Task
. 如您所见,我对它的工作原理不是很了解。
那么有什么好的方法来验证我的容器镜像是真的创建的吗?例如,我可以在Task
完成后阻止 pod 终止,以便我可以进入容器并浏览文件系统或其他东西吗?
这是Task
定义: