94 lines
2.3 KiB
YAML
94 lines
2.3 KiB
YAML
kind: pipeline
|
|
type: kubernetes
|
|
|
|
name: build-and-deploy-dev
|
|
|
|
volumes:
|
|
- name: maven-cache
|
|
claim:
|
|
name: maven-cache-pvc
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- dev
|
|
|
|
steps:
|
|
- name: dev-build
|
|
image: ccr.ccs.tencentyun.com/violin/maven:3.9-eclipse-temurin-22
|
|
commands:
|
|
- mvn clean package -DskipTests
|
|
volumes:
|
|
- name: maven-cache
|
|
path: /root/.m2
|
|
|
|
- name: dev-build-image
|
|
image: ccr.ccs.tencentyun.com/violin/kaniko-project-executor:latest
|
|
environment:
|
|
DOCKER_CONFIG:
|
|
from_secret: docker_config
|
|
settings:
|
|
dockerfile: Dockerfile
|
|
context: dir:///drone/src
|
|
destination: ccr.ccs.tencentyun.com/violin/todo-backend:${DRONE_COMMIT_SHA:-build-${DRONE_BUILD_NUMBER}}
|
|
verbosity: debug
|
|
|
|
- name: dev-deploy
|
|
image: ccr.ccs.tencentyun.com/violin/kubectl:latest
|
|
commands:
|
|
- kubectl set image deployment/todo-backend todo-backend=ccr.ccs.tencentyun.com/violin/todo-backend:${DRONE_COMMIT_SHA} -n drone
|
|
- kubectl rollout status deployment/todo-backend -n drone
|
|
environment:
|
|
KUBECONFIG:
|
|
from_secret: kubeconfig
|
|
|
|
---
|
|
kind: pipeline
|
|
type: kubernetes
|
|
|
|
name: build-and-deploy-prod
|
|
|
|
volumes:
|
|
- name: maven-cache
|
|
claim:
|
|
name: maven-cache-pvc
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- master
|
|
|
|
steps:
|
|
- name: prod-build
|
|
image: ccr.ccs.tencentyun.com/violin/maven:3.9-eclipse-temurin-22
|
|
commands:
|
|
- mvn clean package -DskipTests
|
|
volumes:
|
|
- name: maven-cache
|
|
path: /root/.m2
|
|
|
|
- name: prod-build-image
|
|
image: ccr.ccs.tencentyun.com/violin/kaniko-project-executor:latest
|
|
environment:
|
|
DOCKER_CONFIG:
|
|
from_secret: docker_config
|
|
commands:
|
|
- ls -la
|
|
- cat Dockerfile
|
|
- >-
|
|
/kaniko/executor
|
|
--context .
|
|
--destination ccr.ccs.tencentyun.com/violin/todo-backend:${DRONE_COMMIT_SHA}
|
|
--destination ccr.ccs.tencentyun.com/violin/todo-backend:v1.0.0
|
|
|
|
- name: prod-deploy
|
|
image: ccr.ccs.tencentyun.com/violin/kubectl:latest
|
|
commands:
|
|
- kubectl set image deployment/todo-backend todo-backend=ccr.ccs.tencentyun.com/violin/todo-backend:${DRONE_COMMIT_SHA} -n drone
|
|
- kubectl rollout status deployment/todo-backend -n drone
|
|
environment:
|
|
KUBECONFIG:
|
|
from_secret: kubeconfig
|