.drone.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. kind: pipeline
  2. type: docker
  3. name: dev
  4. node:
  5. mode: test
  6. steps:
  7. - name: maven
  8. image: maven:3.6.3-jdk-11
  9. volumes:
  10. - name: maven-cache
  11. path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
  12. commands:
  13. - mvn -Dmaven.test.skip=true -P dev clean package
  14. - name: build
  15. image: docker:20.10.7
  16. depends_on: [maven]
  17. volumes:
  18. - name: docker
  19. path: /var/run/docker.sock
  20. environment:
  21. IMAGE: registry.yingcaibx.com/tl/api:latest
  22. commands:
  23. # 清理 docker 服务中不再使用的镜像、挂载、网络等资源
  24. - docker system prune --force --volumes || true
  25. - docker build -f ./Dockerfile -t $IMAGE ./
  26. - name: run
  27. image: docker/compose
  28. depends_on: [build]
  29. volumes:
  30. - name: docker
  31. path: /var/run/docker.sock
  32. commands:
  33. - docker-compose --compatibility -f docker-compose.yml up -d
  34. trigger:
  35. branch:
  36. - dev
  37. event:
  38. - push
  39. volumes:
  40. - name: docker
  41. host:
  42. path: /var/run/docker.sock
  43. - name: maven-cache
  44. host:
  45. path: /data/cache/tl/api
  46. ---
  47. kind: pipeline
  48. type: docker
  49. name: release
  50. node:
  51. mode: test
  52. steps:
  53. - name: maven
  54. image: maven:3.6.3-jdk-11
  55. volumes:
  56. - name: maven-cache
  57. path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
  58. commands:
  59. - mvn -Dmaven.test.skip=true -P dev clean package
  60. - name: push
  61. image: docker:20.10.7
  62. volumes:
  63. - name: docker
  64. path: /var/run/docker.sock
  65. environment:
  66. IMAGE: registry.yingcaibx.com/tl/api
  67. depends_on: [maven]
  68. commands:
  69. - docker login -u yxt -p qwe123QWE registry.yingcaibx.com
  70. - echo $DRONE_TAG
  71. - docker build -f ./Dockerfile -t $IMAGE:$DRONE_TAG ./
  72. - docker push $IMAGE:$DRONE_TAG
  73. - docker rmi $IMAGE:$DRONE_TAG
  74. trigger:
  75. event:
  76. - tag
  77. volumes:
  78. - name: docker
  79. host:
  80. path: /var/run/docker.sock
  81. - name: maven-cache
  82. host:
  83. path: /data/cache/tl/api