.drone.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. kind: pipeline
  2. type: docker
  3. name: eai-backend
  4. clone:
  5. disable: true
  6. steps:
  7. # 唯一的步骤: 通过SSH在服务器上构建Docker镜像并运行容器
  8. - name: build-and-run-on-server
  9. image: appleboy/drone-ssh
  10. environment:
  11. WORK_DIR: /root/seeai
  12. CONTAINER_NAME: eai-backend
  13. IMAGE_NAME: eai-backend
  14. IMAGE_TAG: latest
  15. JAR_NAME: EAI-Backend-0.0.1-SNAPSHOT.jar
  16. settings:
  17. host: 139.196.252.184
  18. username: root
  19. password:
  20. from_secret: server-password
  21. port: 22
  22. script:
  23. - cd /root/seeai
  24. - docker build -t eai-backend:latest --build-arg JAR_FILE=EAI-Backend-0.0.1-SNAPSHOT.jar .
  25. - if [ "$(docker ps -aq -f name=eai-backend)" ]; then docker rm -f eai-backend; fi
  26. - docker run -d -p 8070:8080 --name eai-backend -v $(pwd)/logs:/app/logs eai-backend:latest
  27. # # 步骤 1: Maven 构建
  28. # - name: build-with-maven
  29. # image: maven:3.8-openjdk-17-slim
  30. # volumes:
  31. # - name: maven-cache
  32. # path: /root/.m2
  33. # commands:
  34. # - mvn clean package -DskipTests
  35. #
  36. # # 步骤 2: 构建 Docker 镜像并上传
  37. # - name: build-and-push-docker-image
  38. # image: plugins/docker
  39. # settings:
  40. # username:
  41. # from_secret: docker-username
  42. # password:
  43. # from_secret: docker-password
  44. # registry: registry.cn-hangzhou.aliyuncs.com
  45. # repo: registry.cn-hangzhou.aliyuncs.com/english-ai/eai-backend
  46. # tags: latest
  47. # dockerfile: Dockerfile
  48. #
  49. # # 步骤 3: 通过ssh进行部署
  50. # - name: deploy-with-ssh
  51. # image: appleboy/drone-ssh
  52. # environment:
  53. # CONTAINER_NAME: eai-backend
  54. # DOCKER_USERNAME:
  55. # from_secret: docker-username
  56. # DOCKER_PASSWORD:
  57. # from_secret: docker-password
  58. # DOCKER_REGISTRY: registry.cn-hangzhou.aliyuncs.com
  59. # IMAGE_NAME: english-ai/eai-backend
  60. # IMAGE_TAG: latest
  61. # settings:
  62. # host: 139.196.252.184
  63. # username: root
  64. # password:
  65. # from_secret: server-password
  66. # port: 22
  67. # envs: [DOCKER_USERNAME,DOCKER_PASSWORD,DOCKER_REGISTRY,CONTAINER_NAME,IMAGE_NAME,IMAGE_TAG]
  68. # script:
  69. # - echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin $DOCKER_REGISTRY
  70. # - tag=$DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_TAG
  71. # - docker pull $tag
  72. # - if [ $(docker ps -aq -f name=eai-backend) ]; then docker rm -f eai-backend; fi
  73. # - docker run -d -p 8070:8080 --name eai-backend -v $(pwd)/logs:/app/logs registry.cn-hangzhou.aliyuncs.com/english-ai/eai-backend
  74. volumes:
  75. - name: maven-cache
  76. host:
  77. path: /tmp/cache/.m2
  78. trigger:
  79. branch:
  80. - main