生活分享

  • 首页
HETAO
业余码农、业余机械爱好者
  1. 首页
  2. 未分类
  3. 正文

Drone 加速一: 解决Clone速度慢的问题 (drone v2)

2022年9月25日 1620点热度 1人点赞 0条评论

file

前提

应该不少小伙伴是把drone和git托管放在一起的,这时候默认的clone可能只是几秒钟,那请忽略本文。但如果跟我一样不在一个服务器上,而且有的项目比较大的时候可能手动clone会更好一些。

手动clone的几个问题

  1. 官方提供了git插件,如果能通过clone depth改为1解决的话也不需要手动clone;
  2. 发现很小的项目卡在clone往往要30s,很不理解,难道是跨境的问题?
  3. 当手动触发build的时候也要30s就难以忍受了。

手动clone的思路

  1. 新建一个用于存放git仓库的目录/srv/git
  2. clone你的项目/srv/git/projectA
  3. map 服务器的.ssh目录用于鉴权,当然也可以用drone的secret
  4. 在drone yml中禁用clone
  5. 增加一个pull step用于同步更新,取代系统默认的clone,并拷贝到drone工作目录

.drone.yml示例

    kind: pipeline
    type: docker
    name: default

    clone:
      disable: true

    steps:
      - name: pull
        image: alpine/git
        volumes:
          - name: ssh
            path: "/root/.ssh"
          - name: git_repo
            path: "/srv/git_repo"
        commands:
          - cd /srv/git_repo/projectA
          - git pull origin main
          - cd -
          - "cp -R /srv/git_repo/carry-dockers/* ./"
    volumes:
      - name: ssh
        host:
          path: /root/.ssh
      - name: git_repo
        host:
          path: /srv/git_repo
Post Views: 1,534
标签: 暂无
最后更新:2022年9月25日

jinzhao

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 生活分享. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备14004285号-1