Initial deployment config

This commit is contained in:
2019-10-06 08:43:37 -04:00
parent 94e3acbd47
commit 894f8796ae
2 changed files with 108 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
name: $(Rev:r)
trigger:
batch: 'true'
branches:
include:
- master
paths:
include:
- Display
pool:
name: Hosted Ubuntu 1604
steps:
- task: Docker@0
displayName: 'Build an image'
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryConnection: 'Docker Hub'
dockerFile: 'Display/Dockerfile'
imageName: 'ckaczor/home-monitor-display:$(Build.BuildNumber)'
includeLatestTag: true
- task: Docker@0
displayName: 'Push an image'
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryConnection: 'Docker Hub'
action: 'Push an image'
imageName: 'ckaczor/home-monitor-display:$(Build.BuildNumber)'
includeLatestTag: true
- task: Bash@3
inputs:
targetType: 'inline'
script: 'sed -i s/#BUILD_BUILDNUMBER#/$BUILD_BUILDNUMBER/ Display/deploy/manifest.yaml'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'Display/deploy/manifest.yaml'
ArtifactName: 'Manifest'
publishLocation: 'Container'

View File

@@ -0,0 +1,65 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: display
namespace: home-monitor
labels:
app: display
spec:
replicas: 1
selector:
matchLabels:
app: display
template:
metadata:
labels:
app: display
spec:
containers:
- name: display
image: ckaczor/home-monitor-display:#BUILD_BUILDNUMBER#
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: File
imagePullPolicy: Always
securityContext:
privileged: true
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
kubernetes.io/hostname: kubernetes
schedulerName: default-scheduler
---
kind: Service
apiVersion: v1
metadata:
name: display
spec:
ports:
- name: client
port: 80
selector:
app: display
type: ClusterIP
---
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: hub
namespace: home-monitor
annotations:
kubernetes.io/ingress.class: traefik
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/session-cookie-hash: sha1
nginx.ingress.kubernetes.io/session-cookie-name: REALTIMESERVERID
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
traefik.frontend.rule.type: PathPrefixStrip
spec:
rules:
- http:
paths:
- path: "/"
backend:
serviceName: display
servicePort: 80