|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
type: docker
|
|
|
|
name: development
|
|
|
|
|
|
|
|
# 常量值
|
|
|
|
constants:
|
|
|
|
- &DEVELOPMENT_HOST 10.119.190.12:8000
|
|
|
|
- &DEVELOPMENT_CMD
|
|
|
|
- npm config set registry http://registry.npm.taobao.org
|
|
|
|
- npm i
|
|
|
|
- npm run build:test
|
|
|
|
- &DEVELOPMENT_SCP_TARGET /home/greenvalley
|
|
|
|
- &DEVELOPMENT_URL http://www.sxgreenvalley.com/
|
|
|
|
- &DEVELOPMENT_PORT 22
|
|
|
|
- &DEVELOPMENT_NODE_VERSION node:16
|
|
|
|
- &DEVELOPMENT_BRANCH develop
|
|
|
|
- &DEVELOPMENT_SCP_SOURCE dist/*
|
|
|
|
- &SCP_STRIP_DIR_LEVEL 1
|
|
|
|
- &NOTIFY_WECHATROBOT_WEBHOOK https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8
|
|
|
|
|
|
|
|
|
|
|
|
# 挂载的主机卷,可以映射到docker容器中
|
|
|
|
volumes:
|
|
|
|
# maven构建缓存(宿主机目录)
|
|
|
|
- name: ssh_key
|
|
|
|
host:
|
|
|
|
path: /root/.ssh/
|
|
|
|
- name: cache
|
|
|
|
host:
|
|
|
|
path: /var/lib/cache
|
|
|
|
- name: data
|
|
|
|
host:
|
|
|
|
path: /var/lib/data
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: restore-cache
|
|
|
|
image: drillster/drone-volume-cache
|
|
|
|
volumes:
|
|
|
|
- name: cache
|
|
|
|
path: /cache
|
|
|
|
settings:
|
|
|
|
restore: true
|
|
|
|
mount:
|
|
|
|
- ./node_modules
|
|
|
|
|
|
|
|
- name: build
|
|
|
|
image: *DEVELOPMENT_NODE_VERSION
|
|
|
|
pull: if-not-exists # default always
|
|
|
|
# volumes:
|
|
|
|
# - name: cache
|
|
|
|
# path: /root/.m2
|
|
|
|
commands: *DEVELOPMENT_CMD
|
|
|
|
|
|
|
|
- name: rebuild-cache
|
|
|
|
image: drillster/drone-volume-cache
|
|
|
|
volumes:
|
|
|
|
- name: cache
|
|
|
|
path: /cache
|
|
|
|
settings:
|
|
|
|
rebuild: true
|
|
|
|
mount:
|
|
|
|
- ./node_modules
|
|
|
|
|
|
|
|
- name: deploy-scp
|
|
|
|
image: appleboy/drone-scp
|
|
|
|
pull: if-not-exists
|
|
|
|
volumes:
|
|
|
|
- name: ssh_key
|
|
|
|
path: /root/.ssh/
|
|
|
|
settings:
|
|
|
|
host: *DEVELOPMENT_HOST
|
|
|
|
port: *DEVELOPMENT_PORT
|
|
|
|
username: root
|
|
|
|
key_path: /root/.ssh/id_rsa
|
|
|
|
rm: true # true则会删除目标目录重建
|
|
|
|
target: *DEVELOPMENT_SCP_TARGET
|
|
|
|
source: *DEVELOPMENT_SCP_SOURCE
|
|
|
|
strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target
|
|
|
|
|
|
|
|
- name: notify-wechatwork
|
|
|
|
image: fifsky/drone-wechat-work
|
|
|
|
pull: if-not-exists
|
|
|
|
settings:
|
|
|
|
url: *NOTIFY_WECHATROBOT_WEBHOOK
|
|
|
|
msgtype: markdown
|
|
|
|
content: |
|
|
|
|
{{if eq .Status "success" }}
|
|
|
|
#### 🎉 ${DRONE_REPO} 测试环境构建成功
|
|
|
|
> Branch: ${DRONE_BRANCH}
|
|
|
|
> Commit: [${DRONE_COMMIT_MESSAGE} ](${DRONE_COMMIT_LINK})
|
|
|
|
> Author: ${DRONE_COMMIT_AUTHOR}
|
|
|
|
> PATH: http://www.sxgreenvalley.com/
|
|
|
|
> [点击查看](http://www.sxgreenvalley.com/)
|
|
|
|
{{else}}
|
|
|
|
#### ❌ ${DRONE_REPO} 测试环境构建失败
|
|
|
|
> Branch: ${DRONE_BRANCH}
|
|
|
|
> Commit: [${DRONE_COMMIT_MESSAGE} ](${DRONE_COMMIT_LINK})
|
|
|
|
> Author: ${DRONE_COMMIT_AUTHOR}
|
|
|
|
> 请立即修复!!!
|
|
|
|
> [点击查看](http://www.sxgreenvalley.com/)
|
|
|
|
{{end}}
|
|
|
|
when:
|
|
|
|
status:
|
|
|
|
- failure
|
|
|
|
- success
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branch:
|
|
|
|
- *DEVELOPMENT_BRANCH
|
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
type: docker
|
|
|
|
name: production
|
|
|
|
|
|
|
|
# 常量值
|
|
|
|
constants:
|
|
|
|
- &PRODUCTION_HOST www.sxgreenvalley.com
|
|
|
|
- &PRODUCTION_CMD
|
|
|
|
- npm config set registry http://registry.npm.taobao.org
|
|
|
|
- npm i
|
|
|
|
- npm run build
|
|
|
|
- &PRODUCTION_SCP_TARGET /home/greenvalley
|
|
|
|
- &PRODUCTION_BRANCH master
|
|
|
|
- &PRODUCTION_PORT 22
|
|
|
|
- &PRODUCTION_NODE_VERSION node:16
|
|
|
|
- &PRODUCTION_SCP_SOURCE dist/*
|
|
|
|
- &SCP_STRIP_DIR_LEVEL 1
|
|
|
|
- &NOTIFY_WECHATROBOT_WEBHOOK https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8
|
|
|
|
|
|
|
|
# 挂载的主机卷,可以映射到docker容器中
|
|
|
|
volumes:
|
|
|
|
# maven构建缓存(宿主机目录)
|
|
|
|
- name: ssh_key
|
|
|
|
host:
|
|
|
|
path: /root/.ssh/
|
|
|
|
- name: cache
|
|
|
|
host:
|
|
|
|
path: /var/lib/cache
|
|
|
|
- name: data
|
|
|
|
host:
|
|
|
|
path: /var/lib/data
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: restore-cache
|
|
|
|
image: drillster/drone-volume-cache
|
|
|
|
volumes:
|
|
|
|
- name: cache
|
|
|
|
path: /cache
|
|
|
|
settings:
|
|
|
|
restore: true
|
|
|
|
mount:
|
|
|
|
- ./node_modules
|
|
|
|
|
|
|
|
- name: build
|
|
|
|
image: *PRODUCTION_NODE_VERSION
|
|
|
|
pull: if-not-exists # default always
|
|
|
|
# volumes:
|
|
|
|
# - name: cache
|
|
|
|
# path: /root/.m2
|
|
|
|
commands: *PRODUCTION_CMD
|
|
|
|
|
|
|
|
- name: rebuild-cache
|
|
|
|
image: drillster/drone-volume-cache
|
|
|
|
volumes:
|
|
|
|
- name: cache
|
|
|
|
path: /cache
|
|
|
|
settings:
|
|
|
|
rebuild: true
|
|
|
|
mount:
|
|
|
|
- ./node_modules
|
|
|
|
|
|
|
|
- name: deploy-scp
|
|
|
|
image: appleboy/drone-scp
|
|
|
|
pull: if-not-exists
|
|
|
|
volumes:
|
|
|
|
- name: ssh_key
|
|
|
|
path: /root/.ssh/
|
|
|
|
settings:
|
|
|
|
host: *PRODUCTION_HOST
|
|
|
|
port: *PRODUCTION_PORT
|
|
|
|
username: root
|
|
|
|
key_path: /root/.ssh/id_rsa
|
|
|
|
rm: true # true则会删除目标目录重建
|
|
|
|
target: *PRODUCTION_SCP_TARGET
|
|
|
|
source: *PRODUCTION_SCP_SOURCE
|
|
|
|
strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target
|
|
|
|
|
|
|
|
- name: notify-wechatwork
|
|
|
|
image: fifsky/drone-wechat-work
|
|
|
|
pull: if-not-exists
|
|
|
|
settings:
|
|
|
|
url: *NOTIFY_WECHATROBOT_WEBHOOK
|
|
|
|
msgtype: markdown
|
|
|
|
content: |
|
|
|
|
{{if eq .Status "success" }}
|
|
|
|
#### 🎉 ${DRONE_REPO} 生产环境构建成功
|
|
|
|
> Branch: ${DRONE_BRANCH}
|
|
|
|
> Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK})
|
|
|
|
> Author: ${DRONE_COMMIT_AUTHOR}
|
|
|
|
> PATH: http://www.sxgreenvalley.com/
|
|
|
|
> [点击查看](http://www.sxgreenvalley.com/)
|
|
|
|
{{else}}
|
|
|
|
#### ❌ ${DRONE_REPO} 生产环境构建失败
|
|
|
|
> Branch: ${DRONE_BRANCH}
|
|
|
|
> Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK})
|
|
|
|
> Author: ${DRONE_COMMIT_AUTHOR}
|
|
|
|
> 请立即修复!!!
|
|
|
|
> [点击查看](http://www.sxgreenvalley.com/)
|
|
|
|
{{end}}
|
|
|
|
when:
|
|
|
|
status:
|
|
|
|
- failure
|
|
|
|
- success
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branch:
|
|
|
|
- *PRODUCTION_BRANCH
|