在OPENSHIFT中动态设置OPENSHIFT\u BUILD\u引用和io.OPENSHIFT.BUILD.commit.ref?

在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

我有一个相对简单的服务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: 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图像,基本图像之间的行为可能会有所不同。你用了哪一个?