.drone.yml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. kind: pipeline
  2. type: docker
  3. name: kxs-gateway
  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
  80. # - docker restart nodeServer1
  81. - echo ====部署成功=======
  82. trigger:
  83. branch:
  84. include:
  85. - master
  86. event:
  87. include:
  88. - pull_request
  89. - push
  90. ---
  91. kind: pipeline
  92. type: docker
  93. name: kxs-transfer
  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-transfer
  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 test
  122. - 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/ # 复制文件
  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-transfer # 容器内目录 绝对路径
  133. settings:
  134. host:
  135. from_secret: host
  136. username:
  137. from_secret: username
  138. password:
  139. from_secret: userpwd
  140. port: 22
  141. command_timeout: 2m
  142. target: /home/ABServer/deploy-ready/
  143. source:
  144. - echo ====开始拷贝=======
  145. - /kxs-transfer/*.jar
  146. - /kxs-transfer/lib
  147. - /kxs-transfer/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: host
  159. username:
  160. from_secret: username
  161. password:
  162. from_secret: userpwd
  163. port: 22
  164. command_timeout: 2m
  165. script:
  166. - echo ====开始部署=======
  167. - cd /home/ABServer/
  168. - cp -r /home/ABServer/deploy-ready/kxs-transfer /home/ABServer/webroot/
  169. - docker stop kxs-transfer && docker rm kxs-transfer && docker-compose up -d
  170. # - docker restart nodeServer1
  171. - echo ====部署成功=======
  172. trigger:
  173. branch:
  174. include:
  175. - release-transfer
  176. event:
  177. include:
  178. - pull_request
  179. - push