Open shynome opened 6 years ago
为什么要写这个呢, 是因为踩到坑了
docker 镜像总是无缓存重新构建, 速度就很慢, 看了 plugins/docker 文档也没有发现哪里写着可以设置缓存, 最后是在 issue 里找到如何设置缓存的 https://github.com/drone-plugins/drone-docker/issues?utf8=%E2%9C%93&q=storage_path
docker
plugins/docker
issue
下面是自动部署的配置文件了:
pipeline: set_tags: image: alpine commands: # 每次上传已存在的镜像需要 2 秒 - echo "$DRONE_COMMIT_SHA,latest">.tags # 缓存镜像构建缓存, 需要管理员开启 trust 选项才能使用 volumes restore-cache: image: drillster/drone-volume-cache restore: true mount: [ '/drone/docker' ] volumes: [ '/tmp/cache:/cache' ] publish: image: plugins/docker # 镜像名 repo: repo_name # 默认是 docker 官方仓库 registry: https://index.docker.io/v1/ # 默认就是 Dockerfile, 可不填 dockerfile: Dockerfile # 用户名账号密码需要在 secrets 里设置 secrets: [ docker_username, docker_password ] # 国内镜像加速 mirror: https://registry.docker-cn.com # 缓存镜像构建缓存 storage_path: /drone/docker # 缓存镜像构建缓存 rebuild-cache: image: drillster/drone-volume-cache rebuild: true mount: [ '/drone/docker' ] volumes: [ '/tmp/cache:/cache' ] # 更新镜像需要 3 秒,网络稳定需要 5 秒, 至少需要 8 秒, 感觉超慢 deploy: # 这是我自己写的一个命令行工具, 可以用来部署 php docker 项目, 以后也许会加上其他的功能 image: shynome/alpine-drone-ci volumes: [ 'ssh:/root/.ssh' ] commands: - deploy docker to $host_name $docker_server_in_host $image_name # 向钉钉反馈构建结果 report: image: shynome/alpine-drone-ci when: status: [ success, failure ] commands: - deploy report https://oapi.dingtalk.com/robot/send?access_token=$access_token
这次测试部署的时候还遇到另外一个坑, alpine add --no-cahe nodejs 安装的 node 版本是 8.9.3 现在的长期支持版是 8.11.3, 这两个版本在运行 webpack 打包的时候在测试部署的这个项目里: 8.9.3 打包需要 40s , 而 8.11.3 需要 30s , 居然有 10s 的差距, 更新的版本如 10.y.z 比 8.11.3 的 webpack 构建速度只快 1s 2s , 没有太大的差距
alpine add --no-cahe nodejs
node
8.9.3
8.11.3
webpack
10.y.z
为什么要写这个呢, 是因为踩到坑了
docker
镜像总是无缓存重新构建, 速度就很慢, 看了plugins/docker
文档也没有发现哪里写着可以设置缓存, 最后是在issue
里找到如何设置缓存的 https://github.com/drone-plugins/drone-docker/issues?utf8=%E2%9C%93&q=storage_path下面是自动部署的配置文件了:
这次测试部署的时候还遇到另外一个坑,
alpine add --no-cahe nodejs
安装的node
版本是8.9.3
现在的长期支持版是8.11.3
, 这两个版本在运行webpack
打包的时候在测试部署的这个项目里:8.9.3
打包需要 40s , 而8.11.3
需要 30s , 居然有 10s 的差距, 更新的版本如10.y.z
比8.11.3
的webpack
构建速度只快 1s 2s , 没有太大的差距