.drone.yml 3.5 KB

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