Docker Build Config & Deploy App


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
Print Friendly, PDF & Email