第 4 章 使用 Repository 自定义资源


Repository 自定义资源 (CR) 有以下主要功能:

  • 告知 Pipelines as Code 关于处理来自一个 URL 事件的信息。
  • 告知 Pipelines as Code 关于管道运行的命名空间信息。
  • 使用 webhook 方法时,对于 Git 供应商平台需要需要引用 API secret、用户名或 API URL。
  • 为存储库提供最后的管道运行状态。

4.1. 创建 Repository 自定义资源

您可以使用 tkn pac CLI 或其他替代方法在目标命名空间中创建 Repository 自定义资源 (CR)。例如:

cat <<EOF|kubectl create -n my-pipeline-ci -f- 1

apiVersion: "pipelinesascode.tekton.dev/v1alpha1"
kind: Repository
metadata:
  name: project-repository
spec:
  url: "https://github.com/<repository>/<project>"
EOF
1
my-pipeline-ci 是目标命名空间。

当有来自 URL (如 https://github.com/<repository>/<project> 的事件时,Pipelines as Code 会匹配它,然后为管道运行签出 <repository>/<project> 存储库的内容,以匹配 .tekton/ 目录中的内容。

注意
  • 您必须在与要执行的源代码存储库关联的管道所在的同一命名空间中创建 Repository CR,它不能针对不同的命名空间。
  • 如果多个 Repository CR 与同一事件匹配,Pipelines as Code 只处理最旧的事件。如果您需要与特定命名空间匹配,请添加 pipelinesascode.tekton.dev/target-namespace: "<mynamespace>" 注解。通过这种显式目标,可防止恶意攻击者在其无法访问的命名空间中执行一个管道运行。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.