环境
目前的环境是hexo
+docker
+drone
。
Drone CI/CD 安装
package.json
明细
1 2 3 4 5 6
| "scripts": { "build": "hexo generate", "clean": "hexo clean", "deploy": "hexo deploy", "server": "hexo server" },
|
.drone.yml
根据上面的环境配置,编辑.drone.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| kind: pipeline type: docker name: build-hexo steps: - name: build-web image: node:12-alpine volumes: - name: web-build path: /app/build commands: - npm install - npm run build - rm -rf /app/build/* - cp -r public/ /app/build/public/ - cp Dockerfile /app/build/Dockerfile - cp default.conf /app/build/default.conf
- name: build-docker image: docker:dind volumes: - name: web-build path: /app/build - name: dockersock path: /var/run/docker.sock commands: - cd /app/build/ - docker build -t my_blog . - docker stop my_blog - docker rm my_blog - docker run --name my_blog -p 8005:80 -d my_blog
volumes: - name: web-build host: path: /data/drone/temp/hexo/web-build
- name: dockersock host: path: /var/run/docker.sock
|
到这里就完成,只需要进行 git push 每次 Drone 就会自动完成打包
,部署
。