Add kubernetes deployment files
This commit is contained in:
parent
cea1ceb081
commit
b03a20f48c
|
|
@ -9,3 +9,20 @@ kaniko:
|
||||||
script:
|
script:
|
||||||
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
|
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
|
||||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:latest --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:latest --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
||||||
|
|
||||||
|
kubernetes:
|
||||||
|
stage: deploy
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
image: ruby
|
||||||
|
variables:
|
||||||
|
KUBERNETES_SERVICE_ACCOUNT_OVERWRITE: gitlab-deploy
|
||||||
|
script:
|
||||||
|
- curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
|
||||||
|
- chmod +x kubectl
|
||||||
|
- mv kubectl /usr/bin/kubectl
|
||||||
|
- kubectl config set-cluster k8s --server="https://kubernetes.default.svc" --certificate-authority=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
- kubectl config set-credentials sa --token="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
|
||||||
|
- kubectl config set-context local --cluster=k8s --user=sa --namespace=turniere-frontend
|
||||||
|
- gem install kubernetes-deploy
|
||||||
|
- REVISION=$CI_COMMIT_SHA kubernetes-deploy --template-dir kubernetes turniere-frontend local
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: frontend-deployment
|
||||||
|
namespace: turniere-frontend
|
||||||
|
labels:
|
||||||
|
app: turniere-frontend
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: turniere-frontend
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: turniere-frontend
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: frontend-container
|
||||||
|
image: registry.gitlab.com/turniere/turniere-frontend:<%= current_sha %>
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
env:
|
||||||
|
- name: TURNIERE_API_URL
|
||||||
|
value: 'https://api01.turnie.re'
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: frontend-service
|
||||||
|
namespace: turniere-frontend
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: turniere-frontend
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
---
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: frontend-ingress
|
||||||
|
namespace: turniere-frontend
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: frontend01.turnie.re
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: frontend-service
|
||||||
|
servicePort: http
|
||||||
Loading…
Reference in New Issue