.drone.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. kind: pipeline
  2. type: docker
  3. name: build
  4. volumes:
  5. #Docker环境
  6. - name: docker
  7. host:
  8. path: /var/run/docker.sock
  9. - name: config
  10. host:
  11. path: /root/.docker/config.json
  12. trigger:
  13. branch:
  14. - main
  15. - master
  16. steps:
  17. - name: 编译文件
  18. image: node:18-alpine
  19. pull: if-not-exists # always never
  20. commands:
  21. - node -v
  22. - npm -v
  23. - npm install
  24. - npm run build
  25. - name: 构建镜像并推送
  26. image: plugins/docker
  27. pull: if-not-exists # always never
  28. environment:
  29. DRONE_REPO_BRANCH: master # 默认会master分支
  30. settings:
  31. registry: registry.chuckchen.top # 需要推送的Docker私服服务器地址
  32. repo: registry.chuckchen.top/chuck-nav #需要打包的镜像名称
  33. use_cache: true
  34. username: # 私服登录用户名
  35. from_secret: docker_username
  36. password: # 私服登录密码
  37. from_secret: docker_password
  38. auto_tag: true # 自动打tag
  39. # 也可以用下面这个手动指定
  40. # tags:
  41. # - latest
  42. # - 0.0.1
  43. - name: 部署 # 利用docker-compose部署,项目跟路径需要docker-compose.yml配置文件
  44. image: docker/compose
  45. volumes:
  46. - name: docker
  47. path: /var/run/docker.sock # 利用宿主机docker
  48. - name: config
  49. path: /root/.docker/config.json # 可以认证私有仓库
  50. environment:
  51. OPENAI_API_KEY:
  52. from_secret: OPENAI_API_KEY
  53. commands:
  54. - docker-compose down --rmi all
  55. - docker-compose pull
  56. - docker-compose up -d