美文网首页
Pod组件发布效能提升计划

Pod组件发布效能提升计划

作者: 王方帅 | 来源:发表于2021-03-16 15:10 被阅读0次

    Pod组件发布效能提升计划 

    1. 创建组件

    1. MAC APP上提供“创建组件”的按钮

    2. 打开创建组件页,输入组件名、前缀,自动脚本pob lib create调用创建一个组件,同时调用脚本分别在内部git source仓库、内部git framework仓库、外部github framework仓库创建对应仓库,分别创建develop分支,提交组件初始代码到git source仓库,只提交一个Readme到git framework,github framework仓库。

    3. 自动设置git忽略文件,从模板复制,忽略Pods文件夹、build文件夹等。

    4. framework的Readme中自动带入framework安装教程。

    2. 组件开发

    1. 本地开发时要通过本地路径的方式在podfile中引用对应仓库源码进行开发,减少不必要的发布流程。

    2. 一个功能模块的各组件都开发完自测通过后在执行组件发布流程。

    3. 组件发布

    1. 由于组件发布是本地已经自测完了,不涉及需要发布源码后先去调试的过程,所以这个时间点组件发布应该算是一个稳定版本。

    2. 由于是稳定版本所以建议同步发源码和framework。

    3. MAC APP上点击发布组件,自动走源码和framework的发布流程(此为默认,用户可选择单独发源码或framework,但是要文案提醒开发者,单独发布可能引起的源码和framework不一致问题,建议一起发布),framework本地生成后,发布到git framework。发布组件时用户可选是否将framework同步到github,如果选择了,发布完后自动走github framework同步流程。

    4. 发布组件可支持Podfile对应本地路径的组件进行依赖发布,但是需要用户指定所有需要一起发布的组件,最好可以自动读取Podfile中所有本地路径依赖的组件显示到发布页,并且可以复选框勾选。添加的顺序为组件发布顺序,可按照依赖关系来安排组件发布顺序。

    5. framework本地生成时要放到./build文件夹,跟git忽略文件夹名称相匹配。

    6. 发布时根据源码的podspec自动生成framework的debug和release的podspec,提交到git的framework仓库。

    4. 同步到github

    1. 当用户在组件发布时没有选择自动同步逻辑且当前git上的版本在github上没有时可以走“同步到github”逻辑。

    2. 当组件发布时选择了自动同步逻辑或git版本在github上已经有了相同版本(证明已经同步过了),则点击此按钮提示开发者已经同步过了。

    5. 安装

    1. 有三个source,分别代表git source仓库、git framework仓库、github framework仓库。

    2. 其中framework会带有Debug和Release的配置。

    3. source和framework切换页面

    1. MAC APP中可以选择source选项(单选)

    2. 当source选项为framework时,可选择Debug和Release(多选)

    3. 选择完后点击“安装”按钮将自动在Podfile中添加对应source,移除另外两个source

    4. “安装”也会自动修改pod方法的参数,如果有的话,没有自动以podspec的为准

    1. 如果是源码则类似于pod 'ModuleName'

    2. 如果是framework debug 则类似于pod 'ModuleName-Debug', :configurations => 'Debug'

    3. 如果是framework release 则类似于pod 'ModuleName', :configurations => 'Release'

    4. 如果framework debug和release都选择了则两个都有。

    5. 最后,“安装”会执行pod install命令。pod install报错时执行pod update。

    6. 关于组件的大小问题

    1. 为了组件的可维护性高,建议只要单一功能的组件都要新创建组件,而不是两个功能的组件放到一个组件中。

    2. 多个组件如果有关联,通过组件依赖的方式去完成,登录UI组件通过依赖邮箱登录组件、Facebook登录组件、Apple登录组件等去实现上层UI封装及功能聚合。

    7. 关于权限

    1. 一种是只有三个权限,source group、git framework group、github framework group。

    2. 一种是组件细分,master可选择给谁开source和framework的权限,还是只有framework的权限,理论上核心研发iOS开发都开源码权限,方便调试,如果非iOS的人员或其他部门的人员只开framework权限

    3. 在MAC APP上可选择源码权限还是framework权限,选择后同步调用gitlab和github授权相应权限。没授权的pod install拉代码拉不下来,保证了权限。

    相关文章

      网友评论

          本文标题:Pod组件发布效能提升计划

          本文链接:https://www.haomeiwen.com/subject/xgkzjktx.html