121 lines
2.8 KiB
YAML
121 lines
2.8 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
|
|
name: build-and-deploy-dev
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- dev
|
|
|
|
steps:
|
|
- name: restore-cache
|
|
restore_cache:
|
|
keys:
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "package.json" }}
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-
|
|
|
|
- name: install
|
|
image: node:18-alpine
|
|
commands:
|
|
- npm install
|
|
cache_from:
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "package.json" }}
|
|
|
|
- name: build
|
|
image: node:18-alpine
|
|
commands:
|
|
- npm run build:h5
|
|
|
|
- name: build-image
|
|
image: plugins/docker
|
|
settings:
|
|
repo: ccr.ccs.tencentyun.com/todo-test/todo-frontend
|
|
tags:
|
|
- {{ .Commit SHA }}
|
|
- 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-frontend todo-frontend=ccr.ccs.tencentyun.com/todo-test/todo-frontend:{{ .Commit SHA }} -n todo-test
|
|
- kubectl rollout status deployment/todo-frontend -n todo-test
|
|
environment:
|
|
KUBECONFIG:
|
|
from_secret: kubeconfig
|
|
when:
|
|
status:
|
|
- success
|
|
|
|
- name: rebuild-cache
|
|
rebuild_cache:
|
|
keys:
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "package.json" }}
|
|
- npm-{{ .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:
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "package.json" }}
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-
|
|
|
|
- name: install
|
|
image: node:18-alpine
|
|
commands:
|
|
- npm install
|
|
cache_from:
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "package.json" }}
|
|
|
|
- name: build
|
|
image: node:18-alpine
|
|
commands:
|
|
- npm run build:h5
|
|
|
|
- name: build-image
|
|
image: plugins/docker
|
|
settings:
|
|
repo: ccr.ccs.tencentyun.com/todo-prod/todo-frontend
|
|
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-frontend todo-frontend=ccr.ccs.tencentyun.com/todo-prod/todo-frontend:{{ .Commit SHA }} -n todo-prod
|
|
- kubectl rollout status deployment/todo-frontend -n todo-prod
|
|
environment:
|
|
KUBECONFIG:
|
|
from_secret: kubeconfig
|
|
when:
|
|
status:
|
|
- success
|
|
|
|
- name: rebuild-cache
|
|
rebuild_cache:
|
|
keys:
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-{{ checksum "package.json" }}
|
|
- npm-{{ .Environment.DRONE_REPO_NAME }}-
|