apiVersion: v1
kind: BuildConfig
metadata:
name: artifact-build
spec:
output:
to:
kind: ImageStreamTag
name: artifact-image:latest
source:
git:
uri: https://github.com/openshift/openshift-jee-sample.git
strategy:
sourceStrategy:
from:
kind: ImageStreamTag
name: wildfly:10.1
namespace: openshift
apiVersion : v1
kind : BuildConfig
metadata :
name : artifact- build
spec :
output :
to :
kind : ImageStreamTag
name : artifact- image: latest
source :
git :
uri : https: //github.com/openshift/openshift- jee- sample.git
strategy :
sourceStrategy :
from :
kind : ImageStreamTag
name : wildfly: 10.1
namespace : openshift
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
apiVersion: v1
kind: BuildConfig
metadata:
name: image-build
spec:
output:
to:
kind: ImageStreamTag
name: image-build:latest
source:
dockerfile: |-
FROM jee-runtime:latest
COPY ROOT.war /deployments/ROOT.war
images:
- from:
kind: ImageStreamTag
name: artifact-image:latest
paths:
- sourcePath: /wildfly/standalone/deployments/ROOT.war
destinationDir: "."
strategy:
dockerStrategy:
from:
kind: ImageStreamTag
name: jee-runtime:latest
triggers:
- imageChange: {}
type: ImageChange
apiVersion : v1
kind : BuildConfig
metadata :
name : image- build
spec :
output :
to :
kind : ImageStreamTag
name : image- build: latest
source :
dockerfile : | -
FROM jee- runtime: latest
COPY ROOT.war /deployments/ROOT.war
images :
- from : 1
kind : ImageStreamTag
name : artifact- image: latest
paths : 2
- sourcePath : /wildfly/standalone/deployments/ROOT.war
destinationDir : "."
strategy :
dockerStrategy :
from : 3
kind : ImageStreamTag
name : jee- runtime: latest
triggers :
- imageChange : { }
type : ImageChange
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
此设置的结果是,第二个构建的输出镜像不需要包含创建 WAR 文件所需的任何构建工具。此外,由于第二个构建包含镜像更改触发器,因此每当运行第一个构建并生成含有二进制工件的新镜像时,将自动触发第二个构建,以生成包含该工件的运行时镜像。所以,两个构建表现为一个具有两个阶段的构建。