diff --git a/.drone.yml b/.drone.yml index 7161cb8..ffd2991 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,11 +1,13 @@ kind: pipeline type: docker -name: build-and-push +name: build-and-deploy-dev trigger: event: - push + branch: + - dev steps: - name: restore-cache @@ -24,18 +26,82 @@ steps: - name: build-image image: plugins/docker 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: - {{ .Commit SHA }} - - {{ if eq .Branch "master" }}v1.0.0{{ else }}latest{{ end }} + - latest 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-test/todo-backend:{{ .Commit SHA }} -n todo-test + - kubectl rollout status deployment/todo-backend -n todo-test + environment: + KUBECONFIG: + from_secret: kubeconfig when: - branch: - - master - - dev + status: + - success + + - 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 rebuild_cache: