.drone.yml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. kind: pipeline
  2. type: docker
  3. name: test-pipeline
  4. # 关闭自动设置Git镜像
  5. # 此处可以不设置,将获取最新的git镜像
  6. clone:
  7. disable: true
  8. steps:
  9. # 设置Git镜像版本,下载仓库文件
  10. # 如果上面没有设置clone,此处需要删除(如果不删除,在pipeline中将多一个clone,pipeline会出错)
  11. - name: clone
  12. image: drone/git:1.2.1
  13. # 构建和编译Java项目
  14. - name: maven-build
  15. image: maven:3.8.4
  16. volumes:
  17. # Maven缓存目录
  18. - name: mvn-cache
  19. path: /root/.m2
  20. # 在Docker容器内执行的命令
  21. commands:
  22. - mvn clean install
  23. # 发布项目
  24. - name: test
  25. image: appleboy/drone-ssh:1.6.4
  26. settings:
  27. # 部署主机的IP 11
  28. host: 8.155.171.167
  29. # 部署主机的登录账号,需从Drone中获取密钥名ssh_user的值,创建方式见下面
  30. username:
  31. from_secret: ssh_user
  32. # 部署主机的登录密码,需从Drone中获取密钥名ssh_pwd的值,创建方式见下面
  33. password:
  34. from_secret: ssh_pwd
  35. # 端口号
  36. port: 22
  37. # 设置超时
  38. command_timeout: 10m
  39. # 编写脚本,可根据具体情况编写
  40. script:
  41. # 进入宿主机的“/home/app”目录(注意:先在宿主机上创建app目录)
  42. - cd /home/app
  43. # 删除jar包,我测试的工程名是test
  44. # - rm -rf test.0.0.1-SNAPSHOT.jar
  45. # 将编译后的jar包复制到"/home/app"下
  46. - cp /home/mvn/.m2/repository/com/feiyi/project/test/0.0.1-SNAPSHOT/test-0.0.1-SNAPSHOT.jar .
  47. # 执行"/home/app"下的脚本(注意:需要在“/home/app”目录下创建dayunhui.sh文件)
  48. - export PATH=$PATH:/usr/local/jdk1.8.0_401/bin
  49. - sh test.sh restart
  50. #- nohup java -jar /home/app/test-0.0.1-SNAPSHOT.jar > /dev/null 2> /dev/null &
  51. #- export PATH=$PATH:/usr/local/jdk1.8.0_401/bin
  52. # - java -jar /home/app/test-0.0.1-SNAPSHOT.jar
  53. # 挂载宿主机目录,对应"mvn-cache"的Maven容器的目录
  54. volumes:
  55. - name: mvn-cache
  56. host:
  57. path: /home/mvn/.m2
  58. # 对应Gogs仓库分支
  59. trigger:
  60. branch:
  61. - master