如何禁用从 openshift 中的构建配置触发的自动构建?

How can i disable the automatic build triggered from build configuration in openshift?

我正在尝试使用 openshift 创建一个 cicd 管道。最初,当使用 'oc new-app' 命令创建应用程序时,它会自动触发构建。除了删除或取消构建之外,我还需要如何禁用初始构建?

How i need to disable the initial build other than deleting or cancel the build?

oc new-app无法阻止初始构建。
它在这里讨论过:https://github.com/openshift/origin/issues/15429
可惜现在没有实现。

但是,您可以通过手动修改 buildConfig 的 yaml 来防止初始构建从 buildConfig 中删除所有触发器。

  • 首先导出 oc new-app 为 yaml 格式。
# oc new-app --name=test \
  centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.git -o yaml --dry-run > test.yml
  • 删除所有触发器,因为将配置更改为 triggers: []
strategy:
  sourceStrategy:
    from:
      kind: ImageStreamTag
      name: ruby-25-centos7:latest
  type: Source
triggers: []

修改后,使用oc create -f创建资源。

# oc create -f test.yml
imagestream.image.openshift.io/ruby-25-centos7 created
imagestream.image.openshift.io/ruby-ex created
buildconfig.build.openshift.io/ruby-ex created
deploymentconfig.apps.openshift.io/ruby-ex created
service/ruby-ex created

构建不会 运行 直到您 运行 oc start-build <bc name>oc rollout latest dc/<dc name>.

希望这个用例对您有所帮助。