.drone.yml 29 KB

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