.drone-prod.yml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842
  1. ---
  2. #正式环境
  3. kind: pipeline
  4. type: docker
  5. name: kxs-gateway-prod
  6. volumes: # 声明数据卷
  7. - name: mvn_repo # 数据卷名称
  8. # Host Volume, 挂载到宿主机上的卷轴
  9. host:
  10. # 宿主机的绝对路径
  11. path: /home/ABServer/cache/mvn_repo
  12. - name: mvn_config
  13. host:
  14. path: /home/ABServer/config/mvn/
  15. - name: targetDir
  16. host:
  17. path: /kxs-gateway
  18. clone:
  19. disable: false # 启用代码拉取
  20. steps:
  21. - name: build-project
  22. image: maven:3.9.4-amazoncorretto-17
  23. pull: if-not-exists
  24. depends_on: [clone] # 依赖的步骤
  25. volumes: # 挂载数据卷
  26. - name: mvn_repo # 数据卷名称
  27. path: /usr/share/maven/repo # 容器内目录 绝对路径
  28. - name: targetDir
  29. path: /drone/src/dist/
  30. - name: mvn_config
  31. path: /usr/share/maven/conf/
  32. commands: # 执行命令
  33. - mvn clean package -Dmaven.test.skip=true -P prod
  34. - cp /drone/src/kxs-gateway/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-gateway/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-gateway/target/config /drone/src/dist/ # 复制文件
  35. when:
  36. status:
  37. - success # 当前步骤成功时执行
  38. - name: scp-project
  39. image: appleboy/drone-scp
  40. pull: if-not-exists
  41. depends_on: [build-project] # 依赖的步骤
  42. volumes: # 挂载数据卷
  43. - name: targetDir # 数据卷名称
  44. path: /kxs-gateway # 容器内目录 绝对路径
  45. settings:
  46. host:
  47. from_secret: kxs-gateway-a-host
  48. username:
  49. from_secret: username
  50. password:
  51. from_secret: kxs-gateway-pwd
  52. port: 22
  53. command_timeout: 2m
  54. target: /home/ABServer/deploy-ready/
  55. source:
  56. - echo ====开始拷贝=======
  57. - /kxs-gateway/*.jar
  58. - /kxs-gateway/lib
  59. - /kxs-gateway/config
  60. - echo ====结束拷贝=======
  61. when:
  62. status:
  63. - success # 当前步骤成功时执行
  64. - name: deploy-project
  65. image: appleboy/drone-ssh
  66. pull: if-not-exists
  67. depends_on: [scp-project] # 依赖的步骤
  68. settings:
  69. host:
  70. from_secret: kxs-gateway-a-host
  71. username:
  72. from_secret: username
  73. password:
  74. from_secret: kxs-gateway-pwd
  75. port: 22
  76. command_timeout: 2m
  77. script:
  78. - echo ====开始部署=======
  79. - cd /home/ABServer/
  80. - cp -r /home/ABServer/deploy-ready/kxs-gateway /home/ABServer/webroot/
  81. - docker stop kxs-gateway && docker rm kxs-gateway && docker-compose up -d kxs-gateway
  82. # - docker restart nodeServer1
  83. - echo ====部署成功=======
  84. - name: scp-project-b
  85. image: appleboy/drone-scp
  86. pull: if-not-exists
  87. depends_on: [build-project] # 依赖的步骤
  88. volumes: # 挂载数据卷
  89. - name: targetDir # 数据卷名称
  90. path: /kxs-gateway # 容器内目录 绝对路径
  91. settings:
  92. host:
  93. from_secret: kxs-gateway-b-host
  94. username:
  95. from_secret: username
  96. password:
  97. from_secret: kxs-gateway-pwd
  98. port: 22
  99. command_timeout: 2m
  100. target: /home/ABServer/deploy-ready/
  101. source:
  102. - echo ====开始拷贝=======
  103. - /kxs-gateway/*.jar
  104. - /kxs-gateway/lib
  105. - /kxs-gateway/config
  106. - echo ====结束拷贝=======
  107. when:
  108. status:
  109. - success # 当前步骤成功时执行
  110. - name: deploy-project-b
  111. image: appleboy/drone-ssh
  112. pull: if-not-exists
  113. depends_on: [scp-project] # 依赖的步骤
  114. settings:
  115. host:
  116. from_secret: kxs-gateway-b-host
  117. username:
  118. from_secret: username
  119. password:
  120. from_secret: kxs-gateway-pwd
  121. port: 22
  122. command_timeout: 2m
  123. script:
  124. - echo ====开始部署=======
  125. - cd /home/ABServer/
  126. - cp -r /home/ABServer/deploy-ready/kxs-gateway /home/ABServer/webroot/
  127. - docker stop kxs-gateway && docker rm kxs-gateway && docker-compose up -d kxs-gateway
  128. # - docker restart nodeServer1
  129. - echo ====部署成功=======
  130. trigger:
  131. branch:
  132. include:
  133. - release-gateway
  134. event:
  135. include:
  136. - pull_request
  137. ---
  138. kind: pipeline
  139. type: docker
  140. name: kxs-transfer-prod
  141. volumes: # 声明数据卷
  142. - name: mvn_repo # 数据卷名称
  143. # Host Volume, 挂载到宿主机上的卷轴
  144. host:
  145. # 宿主机的绝对路径
  146. path: /home/ABServer/cache/mvn_repo
  147. - name: mvn_config
  148. host:
  149. path: /home/ABServer/config/mvn/
  150. - name: targetDir
  151. host:
  152. path: /kxs-transfer
  153. clone:
  154. disable: false # 启用代码拉取
  155. steps:
  156. - name: build-project
  157. image: maven:3.9.4-amazoncorretto-17
  158. pull: if-not-exists
  159. depends_on: [clone] # 依赖的步骤
  160. volumes: # 挂载数据卷
  161. - name: mvn_repo # 数据卷名称
  162. path: /usr/share/maven/repo # 容器内目录 绝对路径
  163. - name: targetDir
  164. path: /drone/src/dist/
  165. - name: mvn_config
  166. path: /usr/share/maven/conf/
  167. commands: # 执行命令
  168. - mvn clean package -Dmaven.test.skip=true -P prod
  169. - cp /drone/src/kxs-transfer/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-transfer/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-transfer/target/config /drone/src/dist/ # 复制文件
  170. when:
  171. status:
  172. - success # 当前步骤成功时执行
  173. - name: scp-project
  174. image: appleboy/drone-scp
  175. pull: if-not-exists
  176. depends_on: [build-project] # 依赖的步骤
  177. volumes: # 挂载数据卷
  178. - name: targetDir # 数据卷名称
  179. path: /kxs-transfer # 容器内目录 绝对路径
  180. settings:
  181. host:
  182. from_secret: kxs-transfer-a-host
  183. username:
  184. from_secret: username
  185. password:
  186. from_secret: kxs-transfer-pwd
  187. port: 22
  188. command_timeout: 2m
  189. target: /home/ABServer/deploy-ready/
  190. source:
  191. - echo ====开始拷贝=======
  192. - /kxs-transfer/*.jar
  193. - /kxs-transfer/lib
  194. - /kxs-transfer/config
  195. - echo ====结束拷贝=======
  196. when:
  197. status:
  198. - success # 当前步骤成功时执行
  199. - name: deploy-project
  200. image: appleboy/drone-ssh
  201. pull: if-not-exists
  202. depends_on: [ scp-project ] # 依赖的步骤
  203. settings:
  204. host:
  205. from_secret: kxs-transfer-a-host
  206. username:
  207. from_secret: username
  208. password:
  209. from_secret: kxs-transfer-pwd
  210. port: 22
  211. command_timeout: 5m
  212. script:
  213. - echo ====开始部署=======
  214. - cd /home/ABServer/
  215. - cp -r /home/ABServer/deploy-ready/kxs-transfer /home/ABServer/webroot/
  216. - docker stop kxs-transfer && docker rm kxs-transfer && docker-compose up -d kxs-transfer
  217. # - docker restart nodeServer1
  218. - echo ====部署成功=======
  219. trigger:
  220. branch:
  221. include:
  222. - release-transfer
  223. event:
  224. include:
  225. - pull_request
  226. ---
  227. kind: pipeline
  228. type: docker
  229. name: kxs-system-prod
  230. volumes: # 声明数据卷
  231. - name: mvn_repo # 数据卷名称
  232. # Host Volume, 挂载到宿主机上的卷轴
  233. host:
  234. # 宿主机的绝对路径
  235. path: /home/ABServer/cache/mvn_repo
  236. - name: mvn_config
  237. host:
  238. path: /home/ABServer/config/mvn/
  239. - name: targetDir
  240. host:
  241. path: /kxs-system
  242. clone:
  243. disable: false # 启用代码拉取
  244. steps:
  245. - name: build-project
  246. image: maven:3.9.4-amazoncorretto-17
  247. pull: if-not-exists
  248. depends_on: [clone] # 依赖的步骤
  249. volumes: # 挂载数据卷
  250. - name: mvn_repo # 数据卷名称
  251. path: /usr/share/maven/repo # 容器内目录 绝对路径
  252. - name: targetDir
  253. path: /drone/src/dist/
  254. - name: mvn_config
  255. path: /usr/share/maven/conf/
  256. commands: # 执行命令
  257. - mvn clean package -Dmaven.test.skip=true -P prod
  258. - cp /drone/src/kxs-system/kxs-system-biz/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-system/kxs-system-biz/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-system/kxs-system-biz/target/config /drone/src/dist/ # 复制文件
  259. when:
  260. status:
  261. - success # 当前步骤成功时执行
  262. - name: scp-project
  263. image: appleboy/drone-scp
  264. pull: if-not-exists
  265. depends_on: [build-project] # 依赖的步骤
  266. volumes: # 挂载数据卷
  267. - name: targetDir # 数据卷名称
  268. path: /kxs-system # 容器内目录 绝对路径
  269. settings:
  270. host:
  271. from_secret: kxs-user-system-a-host
  272. username:
  273. from_secret: username
  274. password:
  275. from_secret: kxs-user-system-pwd
  276. port: 22
  277. command_timeout: 2m
  278. target: /home/ABServer/deploy-ready/
  279. source:
  280. - echo ====开始拷贝=======
  281. - /kxs-system/*.jar
  282. - /kxs-system/lib
  283. - /kxs-system/config
  284. - echo ====结束拷贝=======
  285. when:
  286. status:
  287. - success # 当前步骤成功时执行
  288. - name: deploy-project
  289. image: appleboy/drone-ssh
  290. pull: if-not-exists
  291. depends_on: [scp-project] # 依赖的步骤
  292. settings:
  293. host:
  294. from_secret: kxs-user-system-a-host
  295. username:
  296. from_secret: username
  297. password:
  298. from_secret: kxs-user-system-pwd
  299. port: 22
  300. command_timeout: 2m
  301. script:
  302. - echo ====开始部署=======
  303. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-system-biz&ip=172.27.251.56&port=8060&weight=0'
  304. - sleep 25s
  305. - cd /home/ABServer/
  306. - cp -r /home/ABServer/deploy-ready/kxs-system /home/ABServer/webroot/
  307. - docker stop kxs-system && docker rm kxs-system && docker-compose up -d kxs-system
  308. # - docker restart nodeServer1
  309. - echo ====部署成功=======
  310. - name: scp-project-b
  311. image: appleboy/drone-scp
  312. pull: if-not-exists
  313. depends_on: [build-project] # 依赖的步骤
  314. volumes: # 挂载数据卷
  315. - name: targetDir # 数据卷名称
  316. path: /kxs-system # 容器内目录 绝对路径
  317. settings:
  318. host:
  319. from_secret: kxs-user-system-b-host
  320. username:
  321. from_secret: username
  322. password:
  323. from_secret: kxs-user-system-pwd
  324. port: 22
  325. command_timeout: 2m
  326. target: /home/ABServer/deploy-ready/
  327. source:
  328. - echo ====开始拷贝=======
  329. - /kxs-system/*.jar
  330. - /kxs-system/lib
  331. - /kxs-system/config
  332. - echo ====结束拷贝=======
  333. when:
  334. status:
  335. - success # 当前步骤成功时执行
  336. - name: deploy-project-b
  337. image: appleboy/drone-ssh
  338. pull: if-not-exists
  339. depends_on: [scp-project] # 依赖的步骤
  340. settings:
  341. host:
  342. from_secret: kxs-user-system-b-host
  343. username:
  344. from_secret: username
  345. password:
  346. from_secret: kxs-user-system-pwd
  347. port: 22
  348. command_timeout: 5m
  349. script:
  350. - echo ====开始部署=======
  351. - sleep 60s
  352. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-system-biz&ip=172.27.251.56&port=8060&weight=1'
  353. - sleep 1s
  354. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-system-biz&ip=172.26.230.195&port=8060&weight=0'
  355. - sleep 25s
  356. - cd /home/ABServer/
  357. - cp -r /home/ABServer/deploy-ready/kxs-system /home/ABServer/webroot/
  358. - docker stop kxs-system && docker rm kxs-system && docker-compose up -d kxs-system
  359. # - docker restart nodeServer1
  360. - sleep 60s
  361. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-system-biz&ip=172.26.230.195&port=8060&weight=1'
  362. - echo ====部署成功=======
  363. trigger:
  364. branch:
  365. include:
  366. - release-system
  367. event:
  368. include:
  369. - pull_request
  370. ---
  371. kind: pipeline
  372. type: docker
  373. name: kxs-user-prod
  374. volumes: # 声明数据卷
  375. - name: mvn_repo # 数据卷名称
  376. # Host Volume, 挂载到宿主机上的卷轴
  377. host:
  378. # 宿主机的绝对路径
  379. path: /home/ABServer/cache/mvn_repo
  380. - name: mvn_config
  381. host:
  382. path: /home/ABServer/config/mvn/
  383. - name: targetDir
  384. host:
  385. path: /kxs-user
  386. clone:
  387. disable: false # 启用代码拉取
  388. steps:
  389. - name: build-project
  390. image: maven:3.9.4-amazoncorretto-17
  391. pull: if-not-exists
  392. depends_on: [clone] # 依赖的步骤
  393. volumes: # 挂载数据卷
  394. - name: mvn_repo # 数据卷名称
  395. path: /usr/share/maven/repo # 容器内目录 绝对路径
  396. - name: targetDir
  397. path: /drone/src/dist/
  398. - name: mvn_config
  399. path: /usr/share/maven/conf/
  400. commands: # 执行命令
  401. - mvn clean package -Dmaven.test.skip=true -P prod
  402. - cp /drone/src/kxs-user/kxs-user-biz/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-user/kxs-user-biz/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-user/kxs-user-biz/target/config /drone/src/dist/ # 复制文件
  403. when:
  404. status:
  405. - success # 当前步骤成功时执行
  406. - name: scp-project
  407. image: appleboy/drone-scp
  408. pull: if-not-exists
  409. depends_on: [build-project] # 依赖的步骤
  410. volumes: # 挂载数据卷
  411. - name: targetDir # 数据卷名称
  412. path: /kxs-user # 容器内目录 绝对路径
  413. settings:
  414. host:
  415. from_secret: kxs-user-system-a-host
  416. username:
  417. from_secret: username
  418. password:
  419. from_secret: kxs-user-system-pwd
  420. port: 22
  421. command_timeout: 2m
  422. target: /home/ABServer/deploy-ready/
  423. source:
  424. - echo ====开始拷贝=======
  425. - /kxs-user/*.jar
  426. - /kxs-user/lib
  427. - /kxs-user/config
  428. - echo ====结束拷贝=======
  429. when:
  430. status:
  431. - success # 当前步骤成功时执行
  432. - name: deploy-project
  433. image: appleboy/drone-ssh
  434. pull: if-not-exists
  435. depends_on: [scp-project] # 依赖的步骤
  436. settings:
  437. host:
  438. from_secret: kxs-user-system-a-host
  439. username:
  440. from_secret: username
  441. password:
  442. from_secret: kxs-user-system-pwd
  443. port: 22
  444. command_timeout: 5m
  445. script:
  446. - echo ====开始部署=======
  447. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-user-biz&ip=172.27.251.56&port=8888&weight=0'
  448. - sleep 25s
  449. - cd /home/ABServer/
  450. - cp -r /home/ABServer/deploy-ready/kxs-user /home/ABServer/webroot/
  451. - docker stop kxs-user && docker rm kxs-user && docker-compose up -d kxs-user
  452. # - docker restart nodeServer1
  453. - echo ====部署成功=======
  454. - name: scp-project-b
  455. image: appleboy/drone-scp
  456. pull: if-not-exists
  457. depends_on: [build-project] # 依赖的步骤
  458. volumes: # 挂载数据卷
  459. - name: targetDir # 数据卷名称
  460. path: /kxs-user # 容器内目录 绝对路径
  461. settings:
  462. host:
  463. from_secret: kxs-user-system-b-host
  464. username:
  465. from_secret: username
  466. password:
  467. from_secret: kxs-user-system-pwd
  468. port: 22
  469. command_timeout: 2m
  470. target: /home/ABServer/deploy-ready/
  471. source:
  472. - echo ====开始拷贝=======
  473. - /kxs-user/*.jar
  474. - /kxs-user/lib
  475. - /kxs-user/config
  476. - echo ====结束拷贝=======
  477. when:
  478. status:
  479. - success # 当前步骤成功时执行
  480. - name: deploy-project-b
  481. image: appleboy/drone-ssh
  482. pull: if-not-exists
  483. depends_on: [scp-project] # 依赖的步骤
  484. settings:
  485. host:
  486. from_secret: kxs-user-system-b-host
  487. username:
  488. from_secret: username
  489. password:
  490. from_secret: kxs-user-system-pwd
  491. port: 22
  492. command_timeout: 5m
  493. script:
  494. - echo ====开始部署=======
  495. - sleep 60s
  496. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-user-biz&ip=172.27.251.56&port=8888&weight=1'
  497. - sleep 1s
  498. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-user-biz&ip=172.26.230.195&port=8888&weight=0'
  499. - sleep 25s
  500. - cd /home/ABServer/
  501. - cp -r /home/ABServer/deploy-ready/kxs-user /home/ABServer/webroot/
  502. - docker stop kxs-user && docker rm kxs-user && docker-compose up -d kxs-user
  503. - sleep 60s
  504. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-user-biz&ip=172.26.230.195&port=8888&weight=1'
  505. # - docker restart nodeServer1
  506. - echo ====部署成功=======
  507. trigger:
  508. branch:
  509. include:
  510. - release-user
  511. event:
  512. include:
  513. - pull_request
  514. ---
  515. kind: pipeline
  516. type: docker
  517. name: kxs-product-prod
  518. volumes: # 声明数据卷
  519. - name: mvn_repo # 数据卷名称
  520. # Host Volume, 挂载到宿主机上的卷轴
  521. host:
  522. # 宿主机的绝对路径
  523. path: /home/ABServer/cache/mvn_repo
  524. - name: mvn_config
  525. host:
  526. path: /home/ABServer/config/mvn/
  527. - name: targetDir
  528. host:
  529. path: /kxs-product
  530. clone:
  531. disable: false # 启用代码拉取
  532. steps:
  533. - name: build-project
  534. image: maven:3.9.4-amazoncorretto-17
  535. pull: if-not-exists
  536. depends_on: [clone] # 依赖的步骤
  537. volumes: # 挂载数据卷
  538. - name: mvn_repo # 数据卷名称
  539. path: /usr/share/maven/repo # 容器内目录 绝对路径
  540. - name: targetDir
  541. path: /drone/src/dist/
  542. - name: mvn_config
  543. path: /usr/share/maven/conf/
  544. commands: # 执行命令
  545. - mvn clean package -Dmaven.test.skip=true -P prod
  546. - cp /drone/src/kxs-product/kxs-product-biz/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-product/kxs-product-biz/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-product/kxs-product-biz/target/config /drone/src/dist/ # 复制文件
  547. when:
  548. status:
  549. - success # 当前步骤成功时执行
  550. - name: scp-project
  551. image: appleboy/drone-scp
  552. pull: if-not-exists
  553. depends_on: [build-project] # 依赖的步骤
  554. volumes: # 挂载数据卷
  555. - name: targetDir # 数据卷名称
  556. path: /kxs-product # 容器内目录 绝对路径
  557. settings:
  558. host:
  559. from_secret: kxs-user-system-a-host
  560. username:
  561. from_secret: username
  562. password:
  563. from_secret: kxs-user-system-pwd
  564. port: 22
  565. command_timeout: 2m
  566. target: /home/ABServer/deploy-ready/
  567. source:
  568. - echo ====开始拷贝=======
  569. - /kxs-product/*.jar
  570. - /kxs-product/lib
  571. - /kxs-product/config
  572. - echo ====结束拷贝=======
  573. when:
  574. status:
  575. - success # 当前步骤成功时执行
  576. - name: deploy-project
  577. image: appleboy/drone-ssh
  578. pull: if-not-exists
  579. depends_on: [scp-project] # 依赖的步骤
  580. settings:
  581. host:
  582. from_secret: kxs-user-system-a-host
  583. username:
  584. from_secret: username
  585. password:
  586. from_secret: kxs-user-system-pwd
  587. port: 22
  588. command_timeout: 5m
  589. script:
  590. - echo ====开始部署=======
  591. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-product-biz&ip=172.27.251.56&port=8050&weight=0'
  592. - sleep 25s
  593. - cd /home/ABServer/
  594. - cp -r /home/ABServer/deploy-ready/kxs-product /home/ABServer/webroot/
  595. - docker stop kxs-product && docker rm kxs-product && docker-compose up -d kxs-product
  596. # - docker restart nodeServer1
  597. - echo ====部署成功=======
  598. - name: scp-project-b
  599. image: appleboy/drone-scp
  600. pull: if-not-exists
  601. depends_on: [build-project] # 依赖的步骤
  602. volumes: # 挂载数据卷
  603. - name: targetDir # 数据卷名称
  604. path: /kxs-product # 容器内目录 绝对路径
  605. settings:
  606. host:
  607. from_secret: kxs-user-system-b-host
  608. username:
  609. from_secret: username
  610. password:
  611. from_secret: kxs-user-system-pwd
  612. port: 22
  613. command_timeout: 5m
  614. target: /home/ABServer/deploy-ready/
  615. source:
  616. - echo ====开始拷贝=======
  617. - /kxs-product/*.jar
  618. - /kxs-product/lib
  619. - /kxs-product/config
  620. - echo ====结束拷贝=======
  621. when:
  622. status:
  623. - success # 当前步骤成功时执行
  624. - name: deploy-project-b
  625. image: appleboy/drone-ssh
  626. pull: if-not-exists
  627. depends_on: [scp-project] # 依赖的步骤
  628. settings:
  629. host:
  630. from_secret: kxs-user-system-b-host
  631. username:
  632. from_secret: username
  633. password:
  634. from_secret: kxs-user-system-pwd
  635. port: 22
  636. command_timeout: 5m
  637. script:
  638. - echo ====开始部署=======
  639. - sleep 60s
  640. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-product-biz&ip=172.27.251.56&port=8050&weight=1'
  641. - sleep 1s
  642. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-product-biz&ip=172.26.230.195&port=8050&weight=0'
  643. - sleep 25s
  644. - cd /home/ABServer/
  645. - cp -r /home/ABServer/deploy-ready/kxs-product /home/ABServer/webroot/
  646. - docker stop kxs-product && docker rm kxs-product && docker-compose up -d kxs-product
  647. - sleep 60s
  648. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-product-biz&ip=172.26.230.195&port=8050&weight=1'
  649. # - docker restart nodeServer1
  650. - echo ====部署成功=======
  651. trigger:
  652. branch:
  653. include:
  654. - release-product
  655. event:
  656. include:
  657. - pull_request
  658. - push
  659. ---
  660. kind: pipeline
  661. type: docker
  662. name: kxs-store-prod
  663. volumes: # 声明数据卷
  664. - name: mvn_repo # 数据卷名称
  665. # Host Volume, 挂载到宿主机上的卷轴
  666. host:
  667. # 宿主机的绝对路径
  668. path: /home/ABServer/cache/mvn_repo
  669. - name: mvn_config
  670. host:
  671. path: /home/ABServer/config/mvn/
  672. - name: targetDir
  673. host:
  674. path: /kxs-store
  675. clone:
  676. disable: false # 启用代码拉取
  677. steps:
  678. - name: build-project
  679. image: maven:3.9.4-amazoncorretto-17
  680. pull: if-not-exists
  681. depends_on: [clone] # 依赖的步骤
  682. volumes: # 挂载数据卷
  683. - name: mvn_repo # 数据卷名称
  684. path: /usr/share/maven/repo # 容器内目录 绝对路径
  685. - name: targetDir
  686. path: /drone/src/dist/
  687. - name: mvn_config
  688. path: /usr/share/maven/conf/
  689. commands: # 执行命令
  690. - mvn clean package -Dmaven.test.skip=true -P prod
  691. - cp /drone/src/kxs-store/kxs-store-biz/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-store/kxs-store-biz/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-store/kxs-store-biz/target/config /drone/src/dist/ # 复制文件
  692. when:
  693. status:
  694. - success # 当前步骤成功时执行
  695. - name: scp-project
  696. image: appleboy/drone-scp
  697. pull: if-not-exists
  698. depends_on: [build-project] # 依赖的步骤
  699. volumes: # 挂载数据卷
  700. - name: targetDir # 数据卷名称
  701. path: /kxs-store # 容器内目录 绝对路径
  702. settings:
  703. host:
  704. from_secret: kxs-user-system-b-host
  705. username:
  706. from_secret: username
  707. password:
  708. from_secret: kxs-user-system-pwd
  709. port: 22
  710. command_timeout: 5m
  711. target: /home/ABServer/deploy-ready/
  712. source:
  713. - echo ====开始拷贝=======
  714. - /kxs-store/*.jar
  715. - /kxs-store/lib
  716. - /kxs-store/config
  717. - echo ====结束拷贝=======
  718. when:
  719. status:
  720. - success # 当前步骤成功时执行
  721. - name: deploy-project
  722. image: appleboy/drone-ssh
  723. pull: if-not-exists
  724. depends_on: [scp-project] # 依赖的步骤
  725. settings:
  726. host:
  727. from_secret: kxs-user-system-b-host
  728. username:
  729. from_secret: username
  730. password:
  731. from_secret: kxs-user-system-pwd
  732. port: 22
  733. command_timeout: 5m
  734. script:
  735. - echo ====开始部署=======
  736. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-store-biz&ip=172.27.251.56&port=8070&weight=0'
  737. - sleep 25s
  738. - cd /home/ABServer/
  739. - cp -r /home/ABServer/deploy-ready/kxs-store /home/ABServer/webroot/
  740. - docker stop kxs-store && docker rm kxs-store && docker-compose up -d kxs-store
  741. # - docker restart nodeServer1
  742. - echo ====部署成功=======
  743. - name: scp-project-b
  744. image: appleboy/drone-scp
  745. pull: if-not-exists
  746. depends_on: [build-project] # 依赖的步骤
  747. volumes: # 挂载数据卷
  748. - name: targetDir # 数据卷名称
  749. path: /kxs-store # 容器内目录 绝对路径
  750. settings:
  751. host:
  752. from_secret: kxs-user-system-b-host
  753. username:
  754. from_secret: username
  755. password:
  756. from_secret: kxs-user-system-pwd
  757. port: 22
  758. command_timeout: 5m
  759. target: /home/ABServer/deploy-ready/
  760. source:
  761. - echo ====开始拷贝=======
  762. - /kxs-store/*.jar
  763. - /kxs-store/lib
  764. - /kxs-store/config
  765. - echo ====结束拷贝=======
  766. when:
  767. status:
  768. - success # 当前步骤成功时执行
  769. - name: deploy-project-b
  770. image: appleboy/drone-ssh
  771. pull: if-not-exists
  772. depends_on: [scp-project] # 依赖的步骤
  773. settings:
  774. host:
  775. from_secret: kxs-user-system-b-host
  776. username:
  777. from_secret: username
  778. password:
  779. from_secret: kxs-user-system-pwd
  780. port: 22
  781. command_timeout: 5m
  782. script:
  783. - echo ====开始部署=======
  784. - sleep 60s
  785. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-store-biz&ip=172.27.251.56&port=8070&weight=1'
  786. - sleep 1s
  787. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-store-biz&ip=172.26.230.195&port=8070&weight=0'
  788. - sleep 25s
  789. - cd /home/ABServer/
  790. - cp -r /home/ABServer/deploy-ready/kxs-store /home/ABServer/webroot/
  791. - docker stop kxs-store && docker rm kxs-store && docker-compose up -d kxs-store
  792. - sleep 60s
  793. - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-store-biz&ip=172.26.230.195&port=8070&weight=1'
  794. # - docker restart nodeServer1
  795. - echo ====部署成功=======
  796. trigger:
  797. branch:
  798. include:
  799. - release-store
  800. event:
  801. include:
  802. - pull_request
  803. - push