Openshift webhook分支过滤器

时间:2016-04-22 09:01:44

标签: git git-branch webhooks openshift-origin

我成功安装了Openshift Origin(最新版),并执行了自动构建。

即,一旦我在master分支上推送了某些东西,我就会使用由Openshift触发器提供的URL通过git webhook触发构建。

现在我想仅在更新特定分支时触发构建。

我创建了一个新的dev分支,并添加了一个带有专用服务和路由的新构建。

但是当我推入master时,dev版本也会被触发。当我推入master时,dev也会出现同样的情况,尽管我使用正确的分支名称更新了Source ref:

但是,master版本使用master分支,dev版本使用dev分支完成。但是,当我只推入dev分支时,我只希望触发dev版本。

以下是以下命令的YAML输出:oc get buildconfigs lol-master --output=yaml

apiVersion: v1
kind: BuildConfig
metadata:
  annotations:
    openshift.io/generated-by: OpenShiftWebConsole
  creationTimestamp: 2016-04-22T06:02:16Z
  labels:
    app: lol-master
  name: lol-master
  namespace: lol
  resourceVersion: "33768"
  selfLink: /oapi/v1/namespaces/lol/buildconfigs/lol-master
  uid: c3d383c3-084f-11e6-978b-525400659b2e
spec:
  output:
    to:
      kind: ImageStreamTag
      name: lol-master:latest
      namespace: lol
  postCommit: {}
  resources: {}
  source:
    git:
      ref: master
      uri: http://git-ooo-labs.apps.10.2.2.2.xip.io/ooo/lol.git
    secrets: null
    type: Git
  strategy:
    sourceStrategy:
      from:
        kind: ImageStreamTag
        name: ruby:latest
        namespace: openshift
    type: Source
  triggers:
  - github:
      secret: cd02b3ebed15bc98
    type: GitHub
  - generic:
      secret: 7be2f555e9d8a809
    type: Generic
  - type: ConfigChange
  - imageChange:
      lastTriggeredImageID: centos/ruby22-centos7@sha256:990326b8ad8c4ae2619b24d019b7871bb10ab08c41e9d5b19d0b72cb0200e28c
    type: ImageChange
status:
  lastVersion: 18

我错过了什么吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

您指向BuildConfig中的master分支:

 source:
    git:
      ref: master
      uri: http://git-ooo-labs.apps.10.2.2.2.xip.io/ooo/lol.git
    secrets: null
    type: Git

但应该指向dev,正如您所说的那样。通常,您需要为masterdev分支单独建立BC,并且每个分支都会相应地配置webhook。此外,分支的格式为refs/heads/dev,因为这是OpenShift从github获取的信息。

code我们正在检查匹配的分支,如果它不匹配则忽略该分支。请再次检查,如果您仍然遇到问题,我会要求您针对https://github.com/openshift/origin打开错误并附上详细说明。

答案 1 :(得分:1)

我在Github上创建了与此行为相关的问题(GitHub issue #8600)。我曾经说过我需要使用Github webhook,而不是这种情况下的通用webhook。

我将webhooks切换为github类型,它就像一个魅力。