You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
4.2 KiB
149 lines
4.2 KiB
kind: pipeline
|
|
type: docker
|
|
name: default
|
|
|
|
# workspace,path可设定默认的拉取目录和每个step中docker镜像的chdir目录,通常不需要设置
|
|
# workspace官方说明:https://docs.drone.io/yaml/docker/#the-workspace-object
|
|
# 可在repo->setting中设置secret,使用from_secret引用密钥
|
|
|
|
# 常量值
|
|
constants:
|
|
- &SERVER_HOST test.tall.wiki
|
|
- &SERVER_PORT 30022
|
|
- &BUILD_CMDER
|
|
- ls
|
|
- mvn -version
|
|
- java -version
|
|
- mvn clean install -Dmaven.test.skip=true
|
|
- &SCP_TARGET /home/cloud/tall3
|
|
- &SCP_SOURCE signin/target/*.jar
|
|
- &SCP_STRIP_DIR_LEVEL 2
|
|
- &SSH_CMDER
|
|
- cd /home/cloud/tall3
|
|
- pwd
|
|
- ./tall3.sh > /dev/null 2> /dev/null &
|
|
#- &NOTIFY_EMAIL weizezhao@ccsens.com
|
|
- &NOTIFY_WECHATROBOT_WEBHOOK https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b2b93e9a-128b-41d4-8dce-12004e3f48b9
|
|
|
|
# 挂载的主机卷,可以映射到docker容器中
|
|
volumes:
|
|
- name: ssh_key
|
|
host:
|
|
path: /root/.ssh/
|
|
- name: cache
|
|
host:
|
|
path: /var/lib/cache
|
|
|
|
# 执行触发器
|
|
trigger:
|
|
branch:
|
|
- yanyuan
|
|
- drone
|
|
|
|
# 构建阶段
|
|
steps:
|
|
- name: build-maven
|
|
image: maven:3.8.4-jdk-8
|
|
pull: if-not-exists # default always
|
|
volumes:
|
|
- name: cache
|
|
path: /root/.m2
|
|
commands: *BUILD_CMDER
|
|
|
|
- name: deploy-scp
|
|
image: appleboy/drone-scp
|
|
pull: if-not-exists
|
|
volumes:
|
|
- name: ssh_key
|
|
path: /root/.ssh/
|
|
settings:
|
|
host: *SERVER_HOST
|
|
port: *SERVER_PORT
|
|
username: root
|
|
key_path: /root/.ssh/id_rsa
|
|
rm: false # true则会删除目标目录重建
|
|
target: *SCP_TARGET
|
|
source: *SCP_SOURCE
|
|
strip_components: *SCP_STRIP_DIR_LEVEL # 去除的目录层数,如果没有该选项,则拷贝过去是 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: *SERVER_HOST
|
|
port: *SERVER_PORT
|
|
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: *SSH_CMDER
|
|
#- cd /home/cloud/tall3
|
|
#- ./re.sh > /dev/null 2> /dev/null &
|
|
|
|
- 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} 构建成功
|
|
> 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
|
|
|
|
# - 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: *NOTIFY_EMAIL #收件人,多个用,隔开
|
|
# when: #执行条件
|
|
# status:
|
|
# - success
|
|
# - changed
|
|
# - failure
|
|
|
|
# - 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}}
|