Files
todo-backend/.drone.yml

95 lines
2.1 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
# 使用 plugin/kaniko
image: ccr.ccs.tencentyun.com/violin/drone-kaniko:latest
settings:
repo: ccr.ccs.tencentyun.com/violin/todo-backend
tags:
- latest
dockerfile: Dockerfile
context: .
registry: ccr.ccs.tencentyun.com
username: 100024540033
password:
from_secret: docker_password
- name: dev-deploy
image: ccr.ccs.tencentyun.com/violin/kubectl:latest
cluster: kubernetes
namespace: drone
commands:
- kubectl set image deployment/todo-backend todo-backend=ccr.ccs.tencentyun.com/violin/todo-backend:${DRONE_COMMIT_SHA:0:8}
- kubectl rollout status deployment/todo-backend
---
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/drone-kaniko:latest
settings:
repo: ccr.ccs.tencentyun.com/violin/todo-backend
tags:
- v1.0.0
dockerfile: Dockerfile
context: .
registry: ccr.ccs.tencentyun.com
username: 100024540033
password:
from_secret: docker_password
- name: prod-deploy
image: ccr.ccs.tencentyun.com/violin/kubectl:latest
cluster: kubernetes
namespace: drone
commands:
- kubectl set image deployment/todo-backend todo-backend=ccr.ccs.tencentyun.com/violin/todo-backend:v1.0.0
- kubectl rollout status deployment/todo-backend