kind: List
apiVersion: v1
items:
- kind: ImageStream
apiVersion: v1
metadata:
name: openshift-jee-sample
- kind: BuildConfig
apiVersion: v1
metadata:
name: openshift-jee-sample-docker
spec:
strategy:
type: Docker
source:
type: Docker
dockerfile: |-
FROM openshift/wildfly-101-centos7:latest
COPY ROOT.war /wildfly/standalone/deployments/ROOT.war
CMD $STI_SCRIPTS_PATH/run
binary:
asFile: ROOT.war
output:
to:
kind: ImageStreamTag
name: openshift-jee-sample:latest
- kind: BuildConfig
apiVersion: v1
metadata:
name: openshift-jee-sample
spec:
strategy:
type: JenkinsPipeline
jenkinsPipelineStrategy:
jenkinsfile: |-
node("maven") {
sh "git clone https://github.com/openshift/openshift-jee-sample.git ."
sh "mvn -B -Popenshift package"
sh "oc start-build -F openshift-jee-sample-docker --from-file=target/ROOT.war"
}
triggers:
- type: ConfigChange
kind : List
apiVersion : v1
items :
- kind : ImageStream
apiVersion : v1
metadata :
name : openshift- jee- sample
- kind : BuildConfig
apiVersion : v1
metadata :
name : openshift- jee- sample- docker
spec :
strategy :
type : Docker
source :
type : Docker
dockerfile : | -
FROM openshift/wildfly- 101- centos7: latest
COPY ROOT.war /wildfly/standalone/deployments/ROOT.war
CMD $STI_SCRIPTS_PATH/run
binary :
asFile : ROOT.war
output :
to :
kind : ImageStreamTag
name : openshift- jee- sample: latest
- kind : BuildConfig
apiVersion : v1
metadata :
name : openshift- jee- sample
spec :
strategy :
type : JenkinsPipeline
jenkinsPipelineStrategy :
jenkinsfile : | -
node("maven") {
sh "git clone https: //github.com/openshift/openshift- jee- sample.git ."
sh "mvn - B - Popenshift package"
sh "oc start- build - F openshift- jee- sample- docker - - from- file=target/ROOT.war"
}
triggers :
- type : ConfigChange
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
動的に作成された Jenkins エージェント Pod の仕様を上書きすることも可能です。以下は、コンテナーメモリーを上書きして、環境変数を指定するように先の例を変更しています。
kind: BuildConfig
apiVersion: v1
metadata:
name: openshift-jee-sample
spec:
strategy:
type: JenkinsPipeline
jenkinsPipelineStrategy:
jenkinsfile: |-
podTemplate(label: "mypod",
cloud: "openshift",
inheritFrom: "maven",
containers: [
containerTemplate(name: "jnlp",
image: "openshift/jenkins-agent-maven-35-centos7:v3.10",
resourceRequestMemory: "512Mi",
resourceLimitMemory: "512Mi",
envVars: [
envVar(key: "CONTAINER_HEAP_PERCENT", value: "0.25")
])
]) {
node("mypod") {
sh "git clone https://github.com/openshift/openshift-jee-sample.git ."
sh "mvn -B -Popenshift package"
sh "oc start-build -F openshift-jee-sample-docker --from-file=target/ROOT.war"
}
}
triggers:
- type: ConfigChange
kind : BuildConfig
apiVersion : v1
metadata :
name : openshift- jee- sample
spec :
strategy :
type : JenkinsPipeline
jenkinsPipelineStrategy :
jenkinsfile : | -
podTemplate(label : "mypod" , 1
cloud : "openshift" , 2
inheritFrom : "maven" , 3
containers : [
containerTemplate(name : "jnlp" , 4
image : "openshift/jenkins-agent-maven-35-centos7:v3.10" , 5
resourceRequestMemory : "512Mi" , 6
resourceLimitMemory : "512Mi" , 7
envVars : [
envVar(key : "CONTAINER_HEAP_PERCENT" , value : "0.25") 8
] )
] ) {
node("mypod") { 9
sh "git clone https: //github.com/openshift/openshift- jee- sample.git ."
sh "mvn - B - Popenshift package"
sh "oc start- build - F openshift- jee- sample- docker - - from- file=target/ROOT.war"
}
}
triggers :
- type : ConfigChange
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
デフォルトで、Pod はビルドの完了時に削除されます。この動作は、プラグインを使用して、またはパイプライン Jenkinsfile 内で変更できます。