Compare commits

6 Commits
docker ... k8s

Author SHA1 Message Date
7b26db4734 Use Drone kubeconfig for Helm deploy
All checks were successful
continuous-integration/drone/push Build is passing
2026-06-20 02:38:54 +08:00
079a191399 Deploy Kubernetes images through local registry
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-20 02:36:50 +08:00
697bd33244 Retry Kubernetes deployment with rebuilt tools image
All checks were successful
continuous-integration/drone/push Build is passing
2026-06-20 02:10:43 +08:00
ac0d366e5d Use cached images in Kubernetes pipeline
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-20 02:07:32 +08:00
df41554e0b Trigger Kubernetes pipeline
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2026-06-20 02:03:41 +08:00
b6dbcefa0f Add Kubernetes Helm deployment pipeline
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2026-06-20 02:00:45 +08:00
5 changed files with 82 additions and 7 deletions

View File

@@ -1,24 +1,30 @@
kind: pipeline
type: docker
name: backend-docker
name: backend-k8s
clone:
depth: 50
trigger:
branch:
- docker
- k8s
event:
- push
steps:
- name: build-image
image: docker.m.daocloud.io/library/docker:27-cli
pull: if-not-exists
commands:
- docker build -t cdchen-backend:docker .
- docker build -t 127.0.0.1:5000/cdchen-backend:k8s-${DRONE_COMMIT_SHA:0:8} .
- docker push 127.0.0.1:5000/cdchen-backend:k8s-${DRONE_COMMIT_SHA:0:8}
- name: deploy
image: docker.m.daocloud.io/library/docker:27-cli
- name: deploy-k8s
image: cdchen-k8s-tools:latest
pull: if-not-exists
network_mode: teaching-k8s
environment:
HOME: /home/cdchen
KUBECONFIG: /home/cdchen/.kube/config-drone
commands:
- docker rm -f cdchen-backend || true
- docker run -d --name cdchen-backend --restart unless-stopped --network gitea_default -p 8089:8080 cdchen-backend:docker
- helm upgrade --install backend ./chart --namespace demo --create-namespace --set image.repository=host.minikube.internal:5000/cdchen-backend --set image.tag=k8s-${DRONE_COMMIT_SHA:0:8}

6
chart/Chart.yaml Normal file
View File

@@ -0,0 +1,6 @@
apiVersion: v2
name: backend
description: Backend teaching chart
type: application
version: 0.1.0
appVersion: "0.1.0"

View 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: backend
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- containerPort: 8080
resources:
{{- toYaml .Values.resources | nindent 12 }}

View 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: 8080
nodePort: {{ .Values.service.nodePort }}

19
chart/values.yaml Normal file
View File

@@ -0,0 +1,19 @@
replicaCount: 1
image:
repository: cdchen-backend
tag: latest
pullPolicy: IfNotPresent
service:
type: NodePort
port: 8080
nodePort: 30089
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 600m
memory: 512Mi