-
Notifications
You must be signed in to change notification settings - Fork 2
/
.drone.yml
106 lines (98 loc) · 3.48 KB
/
.drone.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# 跳过构建在Commit Message中添加 [CI SKIP]
# 192.168.31.5 必须是物理机网卡(可以是虚拟网卡)
kind: pipeline
name: 打包部署[Java-Maven]
clone:
disable: true
steps:
- name: 下载源代码[Git]
image: docker:git
commands:
- echo "### $DRONE_GIT_HTTP_URL -> $DRONE_BRANCH"
- git clone http://172.18.1.1:13000/lizw/clever-security.git ./
# - git clone $DRONE_GIT_HTTP_URL ./
- git checkout $DRONE_BRANCH
- name: 编译源代码[Maven]
image: maven:3.6.0-jdk-8-alpine
volumes:
- name: package-java
path: /package-java
commands:
- mvn package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -B -V -Pprod --settings /package-java/Maven/settings.xml
# - mvn deploy -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -B -V -Pdev --settings /package-java/Maven/settings.xml
# - cp -f puli-learn-server/target/puli-learn-server-*-SNAPSHOT.jar /package-java
- name: 构建镜像[Docker]
image: plugins/docker
settings:
registry: '172.18.1.1:15000'
repo: '172.18.1.1:15000/java-service/clever-security-server'
# bip: true
insecure: true
dockerfile: ./Dockerfile
target: prod
tags: ['0.0.1-SNAPSHOT']
force_tag: true
auto_tag: false
auto_tag_suffix: ''
- name: 启动Docker容器[SSH]
image: appleboy/drone-ssh
settings:
host: 172.18.1.1
port: 22
username:
from_secret: sshUsername
password:
from_secret: sshPassword
# secrets: [ ssh_username, ssh_password ]
command_timeout: 300s
script:
#- export PATH=$PATH:/Applications/Docker.app/Contents/Resources/bin
#- echo $PATH
- echo "------------------< 停止容器 >------------------"
- docker stop clever-security-server
- echo "------------------< 删除容器 >------------------"
- docker rm -v clever-security-server
- echo "------------------< 删除旧镜像 >------------------"
- docker rmi 172.18.1.1:15000/java-service/clever-security-server:0.0.1-SNAPSHOT
- echo "------------------< 拉取新镜像 >------------------"
- docker pull 172.18.1.1:15000/java-service/clever-security-server:0.0.1-SNAPSHOT
- echo "------------------< 运行新镜像 >------------------"
- docker run --name clever-security-server -p 28081:9066 -v /home/lizw/Desktop/docker-opt/logs/java-service:/logs -d 172.18.1.1:15000/java-service/clever-security-server:0.0.1-SNAPSHOT
- exit
- name: 发送通知[Email]
image: drillster/drone-email
# detach: true
commands:
- date
- cd /etc
- cp /share/localtime ./
- date
- cd /bin
- ./drone-email
volumes:
- name: share
path: /share
settings:
host: smtp.qq.com
port: 465
username:
from_secret: emailUsername
password:
from_secret: emailPassword
skip_verify: false
from:
from_secret: emailUsername
recipients: [ 'lzw1000000@163.com' ]
recipients_only: false
subject: '[#{{build.number}}-{{build.status}}] {{repo.name}}'
body: 'file:///drone/src/drone-email.html'
volumes:
# 共享文件
- name: share
host:
path: /home/lizw/Desktop/docker-opt/share
# Java打包目录
- name: package-java
host:
path: /home/lizw/Desktop/docker-opt/package/java
# -------------------------------------------------------------------------------------------------------------