.drone.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. kind: pipeline
  2. type: docker
  3. name: dev
  4. node:
  5. mode: local_test
  6. steps:
  7. # 只需要下载一次,以后将其注释
  8. # - name: skywalking
  9. # image: alpine/git:v2.45.2
  10. # commands:
  11. # - git clone https://git.yingcaibx.com/public/skywalking-agent-java.git /root/skywalking-agent-java
  12. # volumes:
  13. # - name: skywalking-cache
  14. # path: /root/skywalking-agent-java
  15. - name: maven
  16. image: maven:3.6.3-jdk-11
  17. volumes:
  18. - name: maven-cache
  19. path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
  20. - /data/cache/skywalking:/code/skywalking-agent-java
  21. commands:
  22. - mvn -Dmaven.test.skip=true -P dev clean package
  23. - name: build
  24. image: docker:20.10.7
  25. # depends_on: [maven]
  26. volumes:
  27. - name: docker
  28. path: /var/run/docker.sock
  29. - /data/cache/skywalking:/code/skywalking-agent-java
  30. environment:
  31. IMAGE: registry.yingcaibx.com/tl/api:latest
  32. commands:
  33. # 清理 docker 服务中不再使用的镜像、挂载、网络等资源
  34. - docker system prune --force --volumes || true
  35. - docker build -f ./Dockerfile -t $IMAGE ./
  36. - name: run
  37. image: docker/compose:1.29.2
  38. depends_on: [build]
  39. volumes:
  40. - name: docker
  41. path: /var/run/docker.sock
  42. commands:
  43. - docker-compose --compatibility -f docker-compose-dev.yml up -d
  44. trigger:
  45. branch:
  46. - dev
  47. event:
  48. - push
  49. volumes:
  50. - name: docker
  51. host:
  52. path: /var/run/docker.sock
  53. - name: maven-cache
  54. host:
  55. path: /data/cache/tl/api
  56. - name: skywalking-cache
  57. host:
  58. path: /data/cache/skywalking
  59. ---
  60. kind: pipeline
  61. type: docker
  62. name: pre
  63. node:
  64. mode: local_pre
  65. steps:
  66. - name: maven
  67. image: maven:3.6.3-jdk-11
  68. volumes:
  69. - name: maven-cache
  70. path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
  71. commands:
  72. - mvn -Dmaven.test.skip=true -P dev clean package
  73. - name: build
  74. image: docker:20.10.7
  75. depends_on: [maven]
  76. volumes:
  77. - name: docker
  78. path: /var/run/docker.sock
  79. environment:
  80. IMAGE: registry.yingcaibx.com/tl/api:latest
  81. commands:
  82. # 清理 docker 服务中不再使用的镜像、挂载、网络等资源
  83. - docker system prune --force --volumes || true
  84. - docker build -f ./Dockerfile -t $IMAGE ./
  85. - name: run
  86. image: docker/compose:1.29.2
  87. depends_on: [build]
  88. volumes:
  89. - name: docker
  90. path: /var/run/docker.sock
  91. commands:
  92. - docker-compose --compatibility -f docker-compose-pre.yml up -d
  93. trigger:
  94. branch:
  95. - pre
  96. event:
  97. - push
  98. volumes:
  99. - name: docker
  100. host:
  101. path: /var/run/docker.sock
  102. - name: maven-cache
  103. host:
  104. path: /data/cache/tl/api
  105. ---
  106. kind: pipeline
  107. type: docker
  108. name: release
  109. node:
  110. mode: local_test
  111. steps:
  112. - name: maven
  113. image: maven:3.6.3-jdk-11
  114. volumes:
  115. - name: maven-cache
  116. path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
  117. commands:
  118. - mvn -Dmaven.test.skip=true -P dev clean package
  119. - name: push
  120. image: docker:20.10.7
  121. volumes:
  122. - name: docker
  123. path: /var/run/docker.sock
  124. environment:
  125. IMAGE: registry.yingcaibx.com/tl/api
  126. depends_on: [maven]
  127. commands:
  128. - docker login -u yxt -p qwe123QWE registry.yingcaibx.com
  129. - echo $DRONE_TAG
  130. - docker build -f ./Dockerfile -t $IMAGE:$DRONE_TAG ./
  131. - docker push $IMAGE:$DRONE_TAG
  132. - docker rmi $IMAGE:$DRONE_TAG
  133. trigger:
  134. event:
  135. - tag
  136. volumes:
  137. - name: docker
  138. host:
  139. path: /var/run/docker.sock
  140. - name: maven-cache
  141. host:
  142. path: /data/cache/tl/api