ios CI/CD 持续集成 组件化专题四-(手动发布私有库-组件化搭建)

一 、创建私有索引库

1.1 、第一步

首先检查本地是否存在需要的私有索引库

pod repo list

例如:dp_base_ios_spec 在本地不存在该私有索引库

1.2 、第二步

在git下下创建一个新的库,这个库用来保存私有库的podspec文件,取名叫xxxSpec用以区分这个库的作用,如下base_ios_spec索引库

1.3 、第三步

接着创建本地索引库,也就是将刚才创建的远程索引库dp_base_ios_spec关联到本地

pod repo add base_ios_spec git@git.xxx/base_ios_spec.git

此时本地就有了 base_ios_spec这个索引库

二 、开始创建本地私有库

2.1 第一步

首先创建本地私有库(该库是代码库)

pod lib create DPApplePurchasing

2.2 第二步

按照提示输入相应的配置

2.3 、第三步

配置完成后会自动打开一个xcode工程,具体层级如下图

2.4 、第四步

在CommonUtil里面放入自己的私有库代码同时删除掉ReplaceMe

2.5 、第五步

到demo中进行

pod install

2.6 、第六步

然后编写podspec文件,详情见以下

三 、 将私有库push到远程仓库

3.1 、Push an existing folder

复制代码
cd existing_folder
git init
git remote add origin git@xxx/dpalipaymodule.git
git add .
git commit -m "Initial commit"

3.2 、Push an existing Git repository

复制代码
cd existing_repo
git remote rename origin old-origin
git remote add origin git@xxx/dpalipaymodule.git

3.4 拉取远程内容

git pull --rebase origin master 拉取远程仓库的内容和本地的合并

git push -u origin master 将代码推送到远程仓库的master分支

四 、进行本地校验

4.1 、pod lib lint --allow-warnings

组组件依赖了三方QKYYKit,需要添加三方库的git地址

4.2 、 修改本地校验添加三方库的cocoapods地址

pod lib lint --sources="https://github.com/CocoaPods/Specs.git" --use-libraries --allow-warnings --no-clean

出现上述提示,代表本地校验成功

五 、进行远程校验

pod spec lint --sources="https://github.com/CocoaPods/Specs.git" --use-libraries --allow-warnings

出现以上错误信息,表示需要先打tag才能进行远程校验

执行完第六步再次执行上面的远程校验显示如下,代表远程校验通过

六 、打tag

七 、接着需要把podspec推送到远程私有索引库

pod repo push dp_base_ios_spec CommonUtil.podspec --verbose --use-libraries --allow-warnings

上传成功后在远程和本地索引库显示如上

八 、 验证私有库是否发布成功

到此手动发布私有库CommonUtil 成功,就可以正常使用

相关推荐
pop_xiaoli9 分钟前
effective-Objective-C 第二章阅读笔记
笔记·学习·ios·objective-c·cocoa
未来侦察班9 小时前
一晃13年过去了,苹果的Airdrop依然很坚挺。
macos·ios·苹果vision pro
锐意无限15 小时前
Swift 扩展归纳--- UIView
开发语言·ios·swift
符哥200815 小时前
用Apollo + RxSwift + RxCocoa搭建一套网络请求框架
网络·ios·rxswift
文件夹__iOS19 小时前
AsyncStream 进阶实战:SwiftUI 全局消息流极简实现
ios·swiftui·swift
2501_916008891 天前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
忆江南1 天前
Flutter深度全解析
ios
山水域1 天前
Swift 6 严格并发检查:@Sendable 与 Actor 隔离的深度解析
ios
楚轩努力变强1 天前
iOS 自动化环境配置指南 (Appium + WebDriverAgent)
javascript·学习·macos·ios·appium·自动化
池央1 天前
CANN oam-tools 诊断体系深度解析:自动化信息采集、AI Core 异常解析与 CI/CD 流水线集成策略
人工智能·ci/cd·自动化