如何基于 CDN 机制假设 cocoapods 私服 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
apanlin
V2EX    iOS

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

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

    公司内网架设了 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     Solana     861 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:43 PVG 05:43 LAX 14:43 JFK 17:43
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86