美文网首页
gitlab用作文件上传的简单总结

gitlab用作文件上传的简单总结

作者: lensuntop | 来源:发表于2018-09-02 11:15 被阅读0次

    情景:资源包(众多文件的集合)要上传到oss上,而且要记录下资源包每次的签名(每个文件MD5后全部拼接的字符串MD5),有一个产品可以随意切换任意资源包的任意版本。

    初始方案:资源每一次改变都作为一个版本存放在oss上,如下图:

    初始方案流程图

    由于资源包不是每次差异都很小,而且修改很频繁,初始方案就有了明显的缺点:

    1.每次上传都是全量上传,导致上传时间长

    2.每次都是上传都在oss产生一个新的包,导致oss空间过大

    为了节省时间,提出了用gitlab作为上传来优化,方案如下图:

    gitlab优化方案图

    该方案流程有一个极大的缺点:流程比初始方案复杂度高。

    对此方案我将实现分开了三个步骤

    1.从本地服务器上传资源包到gitlab

    2.产品引用资源,通知gitlab需要进行检出资源包到ecs本地

    3.gitlab接收通知进行检出文件本地

    在过程中遇到的几点问题:

    1.gitlab项目ssh和http设置和返回要一致,不能在gitlab管理项目界面上显示是http而通过接口返回的是ssh,否则无法进行其他接口操作

    2.需要在l服务器上需要设置好全局用户和用户邮箱。在linux服务器上有不同用户,注意不能和原来的用户有冲突

    3.用接口为g本地itlab项目添加远程源时,需要添加上用户名和密码在远程源的url上。形式为http:://用户名:密码@远程源链接部分。特别注意,在密码中不能带有'@'字符,因为@后面部分gitlab自动识别为远程链接。

    4.ecs服务器和oss也需要在同一个地方,刚开始就是用深圳的ecs挂载了北京的oss,gitlab检出到本地的速度相当慢,切换到深圳的oss时速度提高了5倍左右

    用了gitlab后,一个资源包初次上传到初次检出的时间比之前的时间要长。在后面有增量的时候,速度比初始方案速度提高了30倍左右。收益还是值得的。

    相关文章

      网友评论

          本文标题:gitlab用作文件上传的简单总结

          本文链接:https://www.haomeiwen.com/subject/lxeeeftx.html