Add Kubernetes Helm deployment pipeline
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Some checks reported errors
continuous-integration/drone/push Build encountered an error
This commit is contained in:
17
.drone.yml
17
.drone.yml
@@ -1,13 +1,13 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: frontend-docker
|
name: frontend-k8s
|
||||||
|
|
||||||
clone:
|
clone:
|
||||||
depth: 50
|
depth: 50
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- docker
|
- k8s
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
@@ -15,10 +15,13 @@ steps:
|
|||||||
- name: build-image
|
- name: build-image
|
||||||
image: docker.m.daocloud.io/library/docker:27-cli
|
image: docker.m.daocloud.io/library/docker:27-cli
|
||||||
commands:
|
commands:
|
||||||
- docker build -t cdchen-frontend:docker .
|
- docker build -t cdchen-frontend:k8s-${DRONE_COMMIT_SHA:0:8} .
|
||||||
|
|
||||||
- name: deploy
|
- name: deploy-k8s
|
||||||
image: docker.m.daocloud.io/library/docker:27-cli
|
image: cdchen-k8s-tools:latest
|
||||||
|
network_mode: teaching-k8s
|
||||||
|
environment:
|
||||||
|
HOME: /home/cdchen
|
||||||
commands:
|
commands:
|
||||||
- docker rm -f cdchen-frontend || true
|
- minikube image load cdchen-frontend:k8s-${DRONE_COMMIT_SHA:0:8} -p teaching-k8s
|
||||||
- docker run -d --name cdchen-frontend --restart unless-stopped --network gitea_default -p 8088:80 cdchen-frontend:docker
|
- helm upgrade --install frontend ./chart --namespace demo --create-namespace --set image.repository=cdchen-frontend --set image.tag=k8s-${DRONE_COMMIT_SHA:0:8}
|
||||||
|
|||||||
6
chart/Chart.yaml
Normal file
6
chart/Chart.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: frontend
|
||||||
|
description: Frontend teaching chart
|
||||||
|
type: application
|
||||||
|
version: 0.1.0
|
||||||
|
appVersion: "0.1.0"
|
||||||
27
chart/templates/deployment.yaml
Normal file
27
chart/templates/deployment.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ .Chart.Name }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ .Chart.Name }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ .Chart.Name }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: frontend
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
17
chart/templates/service.yaml
Normal file
17
chart/templates/service.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ .Chart.Name }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: {{ .Chart.Name }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: {{ .Values.service.port }}
|
||||||
|
targetPort: 80
|
||||||
|
nodePort: {{ .Values.service.nodePort }}
|
||||||
19
chart/values.yaml
Normal file
19
chart/values.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: cdchen-frontend
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: NodePort
|
||||||
|
port: 80
|
||||||
|
nodePort: 30088
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 64Mi
|
||||||
|
limits:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 128Mi
|
||||||
Reference in New Issue
Block a user