-
Notifications
You must be signed in to change notification settings - Fork 28
/
.drone.yml
117 lines (109 loc) · 3.42 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
107
108
109
110
111
112
113
114
115
116
117
# 跳过构建在Commit Message中添加 [CI SKIP]
kind: pipeline
name: 打包部署[NodeJs-Npm]
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/dgiot_amis.git ./
- git checkout master
# - git clone $DRONE_GIT_HTTP_URL ./
# - git checkout $DRONE_BRANCH
- name: 编译源代码[Npm] docker
image: node:16.11.1-alpine3.12
volumes:
- name: package-nodejs
path: /package-nodejs
commands:
- npm config set unsafe-perm true
- npm config set cache "/package-nodejs/npm-cache"
- npm config set prefix "/package-nodejs/npm"
- npm config set registry https://registry.npm.taobao.org --global
- npm config set disturl https://npm.taobao.org/dist --global
#- npm install --prefer-offline
#- npm run build
- cd server
- npm install --prefer-offline
- cd ../
- name: 构建镜像[Docker]
image: plugins/docker
volumes:
- name: docker-daemon
path: /etc/docker
settings:
username:
from_secret: harbor_username
password:
from_secret: harbor_password
registry: '172.18.1.1:15000'
repo: '172.18.1.1:15000/node-service/dgiot_amis'
insecure: true
debug: true
dockerfile: ./Dockerfile
target: dev
tags: ['0.0.1-SNAPSHOT']
force_tag: true
auto_tag: false
auto_tag_suffix: ''
- name: 启动容器[SSH-Docker]
image: appleboy/drone-ssh
settings:
host: 172.18.1.1
port: 22
username:
from_secret: sshUsername
password:
from_secret: sshPassword
command_timeout: 300s
script:
- echo "------------------< 停止容器 >------------------"
- docker stop dgiot_amis
- echo "------------------< 删除容器 >------------------"
- docker rm -v dgiot_amis
- echo "------------------< 删除旧镜像 >------------------"
- docker rmi 172.18.1.1:15000/node-service/dgiot_amis:0.0.1-SNAPSHOT
- echo "------------------< 拉取新镜像 >------------------"
- docker pull 172.18.1.1:15000/node-service/dgiot_amis:0.0.1-SNAPSHOT
- echo "------------------< 运行新镜像 >------------------"
- docker run --name dgiot_amis -d -p 19081:9066 172.18.1.1:15000/node-service/dgiot_amis: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: [ '[email protected]' ]
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
# nodejs打包目录
- name: package-nodejs
host:
path: /home/lizw/Desktop/docker-opt/package/nodejs
# -------------------------------------------------------------------------------------------------------------