V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
apanlin
V2EX  ›  iOS

如何基于 CDN 机制假设 cocoapods 私服

  •  
  •   apanlin · 2020-07-15 21:36:24 +08:00 · 1544 次点击
    这是一个创建于 1592 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司内网架设了 cocoapods 私服,但是基于老版本的, 使用 git 管理 podspec 仓库,但是这样有很多问题

    我们知道 cocoapods 在 1.8 版本之后 正式推出了基于 cdn 机制的新方案

    抛弃了原来的 git 管理的 master 仓库,转而使用 trunk 文件夹存放 podspec 文件 然后 source 也改为了 source 'https://cdn.cocoapods.org/'

    我现在也想升级下公司的 cocoapods 机制,改为官方 1.8 之后的基于 cdn 的新方式

    但是目前看了一遍下来,没有太多的头绪,

    请问各位大佬,你们有没有相关的经验,跪求指点!

    4 条回复    2020-09-11 11:01:12 +08:00
    apanlin
        1
    apanlin  
    OP
       2020-07-16 10:28:48 +08:00
    求大佬
    elfsundae
        2
    elfsundae  
       2020-07-19 21:22:31 +08:00
    1. 私有库没必要用 CDN,况且还是内网 git,你们能托管多少库?
    2. 如果真要弄的话也很简单,我以前搞过官网镜像,官方 Specs 这个仓库里有现成的脚本。现有的 git 仓库不变,发布包还是推到 git 仓库,定期或通过 git hook 执行脚本,脚本生成所有库的索引文件,把索引文件和 podspec 文件推到 CDN,或者 http 服务器直接指向 git 仓库也行。CDN 或 http 服务器配置下缓存策略 etag 。使用方法:执行 pod repo add-cdn http://your-cdn.url 或者在 Podfile 中添加 souce 即可。
    apanlin
        3
    apanlin  
    OP
       2020-09-01 14:34:41 +08:00
    @elfsundae 大佬请问现在的 git 仓库 文件数量一直膨胀,有没有好的删除策略。 我们现在 repo 仓库是个 git 仓库,然后整个项目在迅速迭代中,一个月能增加几千个版本号,也就是 git 仓库中增加几千个版本号文件夹, 经过几年已经达到了 15 万个版本号文件夹。 我直接把几个月前的所有版本号全部删除了, 感觉有点粗暴。 请问你们有遇到这个问题吗,有什么策略应对呢? 谢谢大佬
    elfsundae
        4
    elfsundae  
       2020-09-11 11:01:12 +08:00
    删除 git 里的文件,git 记录还在的,删文件对 clone/pull 速度没多大影响。
    我还没见过几千个版本号的 pod 库,不知道你们为什么要这么频繁的给 pod repo 里发布新版本,一般是比较稳定的版本才会发布到 pod 仓库。开发时可以在 Podfile 中指定源安装,比如 `pod 'XYZ', :git => 'git://xxx.git', :branch => 'dev'` 这就是从 dev 分支安装,每次 pod update 都会拉取 dev 分支的最新代码再集成。
    如果真的需要一月几千个版本号,CDN 源会比 git 源快很多。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2843 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:37 · PVG 21:37 · LAX 05:37 · JFK 08:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.