title: “Docker Build Config & Deploy App”
date: 2020-01-18T10:51:24
slug: docker-build-config
kind: "BuildConfig"
apiVersion: "v1"
metadata:
name: "my-webapp-docker"
spec:
runPolicy: "Serial"
triggers:
-
type: "GitHub"
github:
secret: "secret101"
- type: "Generic"
generic:
secret: "secret101"
-
type: "ImageChange"
source:
git:
uri: "https://github.com/xforze/python-test.git"
strategy:
dockerStrategy:
noCache: true
type: docker
output:
to:
kind: "ImageStreamTag"
name: "webapp-sample:latest"
Create a new ImageStream:
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: webapp-sample
Deploy the Application
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
name: webapp-sample
spec:
replicas: 1
paused: false
strategy:
type: Rolling
template:
metadata:
labels:
name: webapp-sample
spec:
containers:
- image: >-
172.30.1.1:5000/my-webapp/webapp-sample:latest
imagePullPolicy: Always
name: webapp-sample
restartPolicy: Always
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- webapp-sample
from:
kind: ImageStreamTag
name: 'webapp-sample:latest'
lastTriggeredImage: >-
172.30.1.1:5000/my-webapp/webapp-sample:latest
type: ImageChange
Create a Service:
apiVersion: v1
kind: Service
metadata:
name: webapp-sample
spec:
selector:
deploymentconfig: webapp-sample
ports:
ports:
- name: web
port: 8080
protocol: TCP
targetPort: 8080
Create a Service with external IP:
apiVersion: v1
kind: Service
metadata:
name: webapp-sample
spec:
externalIPs:
- 192.168.42.132
ports:
- port: 8080
protocol: TCP
selector:
deploymentconfig: webapp-sample
type: LoadBalancer