多数管理podspec都是通过git来维护私有库,而随着项目越来越大,cocoapods安装慢、编译慢也成为了问题。常见的解决方式是提前预编译framework来加速。常见的方案有cocoapods-binary、Rome等工具。
考虑团队现有的环境,感觉都不适合现状,团队以有nexus服务器,考虑是否能复用nexus,因此整理出该插件。通过nexus来管理podspec和预编译framework。
$ gem install cocoapods-nexus
添加一个nexus的repo,类似pod repo add
$ pod nexus add RepoName NexusHostUrl
# 例如:
# pod nexus add ios_release http://ip:port
显示已有nexus的repo,类似pod repo list
$ pod nexus list
推送podspec到nexus的repo,类似pod repo push。其中artifact为可选参数
$ pod nexus push path/to/podspec --url=NexusHostUrl --repo=RepoName --artifact=path/to/预编译文件
# 例如:
# pod nexus push ~/demo.podspec --url=http://ip:port --repo=ios_release --artifact=~/demo.zip
通过如下代码添加nexus的repo
plugin 'cocoapods-nexus', :sources => [
{
:name => "ios",
:url => "http://ip:port",
}
]
# 其中name为repo的name,url为nexus的地址
# 添加以上代码后执行pod install,插件会从nexus查询podspec
考虑到nexus会私有部署、通过~/.netrc文件配置权限
machine nexusip
login nexus_user
password nexus_password
插件关于nexus的相关操作只需要配置ip和port,后续的mount地址默认为nexus,暂时不支持修改。