.drone.yml 1.4 KB

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