|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
type: docker
|
|
|
|
name: dev
|
|
|
|
|
|
|
|
# 挂载的主机卷,可以映射到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: node:latest
|
|
|
|
pull: if-not-exists # default always
|
|
|
|
# volumes:
|
|
|
|
# - name: cache
|
|
|
|
# path: /root/.m2
|
|
|
|
commands:
|
|
|
|
- npm config set registry http://registry.npm.taobao.org
|
|
|
|
- npm i
|
|
|
|
- npm run test
|
|
|
|
|
|
|
|
# - 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: test.tall.wiki
|
|
|
|
port: 22
|
|
|
|
username: root
|
|
|
|
key_path: /root/.ssh/id_rsa
|
|
|
|
rm: true # true则会删除目标目录重建
|
|
|
|
target: /home/tall/v4.0.0
|
|
|
|
source: dist/**/*
|
|
|
|
strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target
|
|
|
|
|
|
|
|
# - name: run-ssh
|
|
|
|
# image: appleboy/drone-ssh
|
|
|
|
# pull: if-not-exists
|
|
|
|
# volumes:
|
|
|
|
# - name: ssh_key
|
|
|
|
# path: /root/.ssh/
|
|
|
|
# settings:
|
|
|
|
# settings:
|
|
|
|
# host: test.tall.wiki
|
|
|
|
# port: 22
|
|
|
|
# username: root
|
|
|
|
# key_path: /root/.ssh/id_rsa
|
|
|
|
# script_stop: true # stop script after first failure
|
|
|
|
# #command_timeout: 30s # 30seconds, the maximum amount of time for the execute commands, default is 10 minutes.
|
|
|
|
# script:
|
|
|
|
# - cd /home/iacd-platform-drone
|
|
|
|
# - ./re.sh > /dev/null 2> /dev/null &
|
|
|
|
|
|
|
|
- name: notify-email
|
|
|
|
image: drillster/drone-email
|
|
|
|
pull: if-not-exists
|
|
|
|
settings:
|
|
|
|
host: smtp.qiye.aliyun.com #例如 smtp.qq.com
|
|
|
|
port: 465 #例如QQ邮箱端口465
|
|
|
|
username: devops@ccsens.com #邮箱用户名
|
|
|
|
password: #邮箱密码
|
|
|
|
from_secret: orgsecret_password_mail_devops
|
|
|
|
from: devops@ccsens.com
|
|
|
|
recipients: weizezhao@ccsens.com #收件人,多个用,隔开
|
|
|
|
when: #执行条件
|
|
|
|
status:
|
|
|
|
- success
|
|
|
|
- changed
|
|
|
|
- failure
|
|
|
|
|
|
|
|
- name: notify-wechatwork
|
|
|
|
image: fifsky/drone-wechat-work
|
|
|
|
pull: if-not-exists
|
|
|
|
settings:
|
|
|
|
url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b2b93e9a-128b-41d4-8dce-12004e3f48b9
|
|
|
|
msgtype: markdown
|
|
|
|
content: |
|
|
|
|
{{if eq .Status "success" }}
|
|
|
|
#### 🎉 ${DRONE_REPO} 构建成功
|
|
|
|
> Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK})
|
|
|
|
> Author: ${DRONE_COMMIT_AUTHOR}
|
|
|
|
> [点击查看](${DRONE_BUILD_LINK})
|
|
|
|
{{else}}
|
|
|
|
#### ❌ ${DRONE_REPO} 构建失败
|
|
|
|
> Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK})
|
|
|
|
> Author: ${DRONE_COMMIT_AUTHOR}
|
|
|
|
> 请立即修复!!!
|
|
|
|
> [点击查看](${DRONE_BUILD_LINK})
|
|
|
|
{{end}}
|
|
|
|
when:
|
|
|
|
status:
|
|
|
|
- failure
|
|
|
|
- success
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branch: develop
|
|
|
|
# - name: notify-dingtalk
|
|
|
|
# image: lddsb/drone-dingtalk-message
|
|
|
|
# environment:
|
|
|
|
# PASSWORD:
|
|
|
|
# from_secret: password_mail_devops
|
|
|
|
# settings:
|
|
|
|
# token: your-dingtalk-robot-access-token
|
|
|
|
# type: markdown
|
|
|
|
# message_color: true
|
|
|
|
# message_pic: true
|
|
|
|
# sha_link: true
|
|
|
|
|
|
|
|
# -name: notify-slack
|
|
|
|
# image: plugins/slack
|
|
|
|
# webhook: https://hooks.slack.com/ www.dijiuyy.com services/xxx/xxx/xxx
|
|
|
|
# channel: dev
|
|
|
|
# template: >
|
|
|
|
# {{#success build.status}}
|
|
|
|
# build {{build.number}} succeeded. Good job.
|
|
|
|
# {{else}}
|
|
|
|
# build {{build.number}} failed. Fix me please.
|
|
|
|
# {{/success}}
|