公司内网架设了 cocoapods 私服,但是基于老版本的, 使用 git 管理 podspec 仓库,但是这样有很多问题
我们知道 cocoapods 在 1.8 版本之后 正式推出了基于 cdn 机制的新方案
抛弃了原来的 git 管理的 master 仓库,转而使用 trunk 文件夹存放 podspec 文件 然后 source 也改为了 source 'https://cdn.cocoapods.org/'
我现在也想升级下公司的 cocoapods 机制,改为官方 1.8 之后的基于 cdn 的新方式
但是目前看了一遍下来,没有太多的头绪,
请问各位大佬,你们有没有相关的经验,跪求指点!
1
apanlin OP 求大佬
|
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 即可。 |
3
apanlin OP @elfsundae 大佬请问现在的 git 仓库 文件数量一直膨胀,有没有好的删除策略。 我们现在 repo 仓库是个 git 仓库,然后整个项目在迅速迭代中,一个月能增加几千个版本号,也就是 git 仓库中增加几千个版本号文件夹, 经过几年已经达到了 15 万个版本号文件夹。 我直接把几个月前的所有版本号全部删除了, 感觉有点粗暴。 请问你们有遇到这个问题吗,有什么策略应对呢? 谢谢大佬
|
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 源快很多。 |