作为背景,我正在从 Jenkins 和基于 Gitlab CI 的 CI 升级一些项目以使用 Tekton。在这些项目中,通常会看到Jenkinsfile或.gitlab-ci.yml定义为项目运行的管道。每当发生触发事件(例如合并/提交/等)时,相应的工具就会在构建时使用这些文件。这些文件会随着时间的推移而改变,以适应存储库执行其构建所需的任何内容,然后像执行任何其他类型的工作一样提交给存储库。这具有理想的行为,即准确地知道构建管道在提交历史中的任何时候是什么样子,并且如果小心/正确处理,则有助于构建可重现性。
Tekton 的相应方法似乎建议您将 CRD yaml 文件存储在/tekton文件夹下。但是,我在 Tekton 看到的大多数文档和示例都集中在使用kubectl推出 CRD 的手动过程上。一旦安装了 CRD,EventTrigger 就能够在必要时使用定义的资源,但是当我提交对pipeline.yaml的更新时会发生什么?是否期望开发人员使用kubectl手动推送更新的 CRD,或者是否有办法让 EventTrigger 自动使用./tekton/pipeline.yaml存储在事件来源的 git 存储库中?