Add K8s deployment in CI/CD
This commit is contained in:
78
.drone.yml
78
.drone.yml
@@ -1,11 +1,13 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
|
|
||||||
name: build-and-push
|
name: build-and-deploy-dev
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
branch:
|
||||||
|
- dev
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: restore-cache
|
- name: restore-cache
|
||||||
@@ -24,18 +26,82 @@ steps:
|
|||||||
- name: build-image
|
- name: build-image
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
repo: ccr.ccs.tencentyun.com/todo-{{ if eq .Branch "master" }}prod{{ else }}test{{ end }}/todo-backend
|
repo: ccr.ccs.tencentyun.com/todo-test/todo-backend
|
||||||
tags:
|
tags:
|
||||||
- {{ .Commit SHA }}
|
- {{ .Commit SHA }}
|
||||||
- {{ if eq .Branch "master" }}v1.0.0{{ else }}latest{{ end }}
|
- latest
|
||||||
username:
|
username:
|
||||||
from_secret: registry_username
|
from_secret: registry_username
|
||||||
password:
|
password:
|
||||||
from_secret: registry_password
|
from_secret: registry_password
|
||||||
|
|
||||||
|
- name: deploy-to-k8s
|
||||||
|
image: bitnami/kubectl:latest
|
||||||
|
commands:
|
||||||
|
- kubectl set image deployment/todo-backend todo-backend=ccr.ccs.tencentyun.com/todo-test/todo-backend:{{ .Commit SHA }} -n todo-test
|
||||||
|
- kubectl rollout status deployment/todo-backend -n todo-test
|
||||||
|
environment:
|
||||||
|
KUBECONFIG:
|
||||||
|
from_secret: kubeconfig
|
||||||
when:
|
when:
|
||||||
branch:
|
status:
|
||||||
- master
|
- success
|
||||||
- dev
|
|
||||||
|
- name: rebuild-cache
|
||||||
|
rebuild_cache:
|
||||||
|
keys:
|
||||||
|
- maven-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "pom.xml" }}
|
||||||
|
- maven-{{ .Environment.DRONE_REPO_NAME }}-
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
|
||||||
|
name: build-and-deploy-prod
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: restore-cache
|
||||||
|
restore_cache:
|
||||||
|
keys:
|
||||||
|
- maven-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "pom.xml" }}
|
||||||
|
- maven-{{ .Environment.DRONE_REPO_NAME }}-
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: maven:3.9-eclipse-temurin-17
|
||||||
|
commands:
|
||||||
|
- mvn clean package -DskipTests
|
||||||
|
cache_from:
|
||||||
|
- maven-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "pom.xml" }}
|
||||||
|
|
||||||
|
- name: build-image
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
repo: ccr.ccs.tencentyun.com/todo-prod/todo-backend
|
||||||
|
tags:
|
||||||
|
- {{ .Commit SHA }}
|
||||||
|
- v1.0.0
|
||||||
|
username:
|
||||||
|
from_secret: registry_username
|
||||||
|
password:
|
||||||
|
from_secret: registry_password
|
||||||
|
|
||||||
|
- name: deploy-to-k8s
|
||||||
|
image: bitnami/kubectl:latest
|
||||||
|
commands:
|
||||||
|
- kubectl set image deployment/todo-backend todo-backend=ccr.ccs.tencentyun.com/todo-prod/todo-backend:{{ .Commit SHA }} -n todo-prod
|
||||||
|
- kubectl rollout status deployment/todo-backend -n todo-prod
|
||||||
|
environment:
|
||||||
|
KUBECONFIG:
|
||||||
|
from_secret: kubeconfig
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- success
|
||||||
|
|
||||||
- name: rebuild-cache
|
- name: rebuild-cache
|
||||||
rebuild_cache:
|
rebuild_cache:
|
||||||
|
|||||||
Reference in New Issue
Block a user