【发布时间】:2016-04-22 09:01:43
【问题描述】:
我成功安装了 Openshift Origin(最新),并执行了自动构建。
也就是说,一旦我在 master 分支上推送了一些内容,我就会使用 Openshift 触发器提供的 URL 通过 git webhook 触发构建。
现在我想仅在更新特定分支时触发构建。
我创建了一个新的dev 分支,并添加了一个带有其专用服务和路由的新版本。
但是当我推入master 时,dev 构建也会被触发。当我推入 dev 时,master 也会发生同样的情况,尽管我使用正确的分支名称更新了 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
我错过了什么吗?
非常感谢
【问题讨论】:
-
你能指出我可以学习的方向吗
"add a new build with its dedicated service and route"- 我也想创建一个 OpenShift 应用程序的“开发版本”,但不知道如何开始。我以为我只需要在 OpenShift 中为开发人员创建另一个项目(也许“克隆”生产应用程序?),在 GitHub 中创建一个"development"分支,然后修改新项目的构建配置以使用"development"分支?
标签: git git-branch webhooks openshift-origin