在OPENSHIFT中动态设置OPENSHIFT\u BUILD\u引用和io.OPENSHIFT.BUILD.commit.ref?
我有一个相对简单的服务BuildConfig在OPENSHIFT中动态设置OPENSHIFT\u BUILD\u引用和io.OPENSHIFT.BUILD.commit.ref?,openshift,Openshift,我有一个相对简单的服务BuildConfig apiVersion: build.openshift.io/v1 kind: BuildConfig metadata: labels: app: identity-server name: identity-server namespace: dev spec: failedBuildsHistoryLimit: 5 nodeSelector: {} output: to: kind: Imag
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
labels:
app: identity-server
name: identity-server
namespace: dev
spec:
failedBuildsHistoryLimit: 5
nodeSelector: {}
output:
to:
kind: ImageStreamTag
name: 'identity-server:latest'
postCommit: {}
resources: {}
runPolicy: Serial
source:
git:
ref: master
uri: 'ssh://git@bitbucket.example.com:7999/my-project/my-repo.git'
sourceSecret:
name: bitbucket
type: Git
strategy:
dockerStrategy:
dockerfilePath: Dockerfile.openshift
from:
kind: ImageStreamTag
name: 'dotnet:2.1-sdk'
type: Docker
successfulBuildsHistoryLimit: 5
triggers:
- type: ConfigChange
- imageChange:
type: ImageChange
我可以使用它从git中的标记构建一个图像,就像这样
$ oc start-build identity-server -n dev --commit 0.0.1
build "identity-server-22" started
这工作得很好,并且图像是根据标记的提交构建的
然而,在构建的最后两个步骤中,我看到
Step 14/15 : ENV "OPENSHIFT_BUILD_NAME" "identity-server-25" "OPENSHIFT_BUILD_NAMESPACE" "dev" "OPENSHIFT_BUILD_SOURCE" "ssh://git@bitbucket.example.com:7999/my-project/my-repo.git" "OPENSHIFT_BUILD_REFERENCE" "master" "OPENSHIFT_BUILD_COMMIT" "6fa1c07b2e4f70bfff5ed1614907a1d00597fb51"
---> Running in 6d1e8a67976b
---> b7a869b8c133
Removing intermediate container 6d1e8a67976b
Step 15/15 : LABEL "io.openshift.build.name" "identity-server-25" "io.openshift.build.namespace" "dev" "io.openshift.build.commit.author" "Everett Toews \u003cEverett.Toews@example.com\u003e" "io.openshift.build.commit.date" "Sat Aug 4 16:46:48 2018 +1200" "io.openshift.build.commit.id" "6fa1c07b2e4f70bfff5ed1614907a1d00597fb51" "io.openshift.build.commit.ref" "master" "io.openshift.build.commit.message" "Try to build master branch" "io.openshift.build.source-location" "ssh://git@bitbucket.example.com:7999/my-project/my-repo.git"
---> Running in 3e8d8200f2cf
---> 1a591207a29f
Removing intermediate container 3e8d8200f2cf
OPENSHIFT\u BUILD\u REFERENCE
和io.OPENSHIFT.BUILD.commit.ref
根据BuildConfig中的spec.source.git.ref
设置为master
。我希望这些将被设置为0.0.1
,并被ōc start build
中的--commit 0.0.1
标志覆盖
有没有办法在OPENSHIFT中动态设置OPENSHIFT\u BUILD\u引用和io.OPENSHIFT.BUILD.commit.ref
或者我需要模板BuildConfig并用参数替换
spec.source.git.ref
,以获得所需的行为吗?尝试复制,使用提交sha(不是标记)生成并得到以下结果:OPENSHIFT\u BUILD\u COMMIT=96490d85bb25f25f0a6006e6d8a991a52243fbb2 OPENSHIFT\u BUILD\u REFERENCE=96490d85bb25f25f0a6006e6d8a991a52243fbb2
,它们与所选提交匹配。对于io.openshift.build.commit
注释也是如此。使用minishift 3.9。你的呢?还有一个想法-我使用了httpd i2s图像,基本图像之间的行为可能会有所不同。你用了哪一个?