美文网首页
14.创建属于自己的远程私有组件库

14.创建属于自己的远程私有组件库

作者: 枫之叶_小乙哥 | 来源:发表于2019-07-16 15:38 被阅读0次

1.代码托管平台创建spec的私有库

这里我使用的是coding, 网址是: https://coding.net.

1.1 创建一个spec的索引私有库, 填写相关信息


Snip20190716_1.png Snip20190716_2.png

1.2最后点击创建项目.

2.本地生成公钥秘钥

2.1电脑选择, 前往->个人->.ssh文件
2.2查看发现, 只有一个known_hosts文件
2.3打开cmd, 输入

ssh-keygen

2.4然后会提示

// 成功生成本地公钥秘钥 
Generating public/private rsa key pair.

// 以下三个选项可以输入enter设置
Enter file in which to save the key (xxxx): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

2.5再次查看, 前往->个人->.ssh文件


[图片上传中...(Snip20190716_4.png-4c0e76-1563248485707-0)]

3.在代码托管平台绑定公钥

3.1在个人设置中,选择SSH公钥


[图片上传中...(Snip20190716_6.png-bc2621-1563248815346-0)]

3.2新增公钥


Snip20190716_6.png

3.3将步骤2本地生成的公钥( id_rsa.pub文件 ), 用xcode打开拷贝到下面指定位置, 点击添加


Snip20190716_7.png

3.4输入密码后, 会显示添加成功

4.在本地添加spec的私有索引库

4.1 查看本地所有的索引库
打开cmd, 输入

pod repo

会显示pod的公有库master

Snip20190716_8.png

4.2 添加自己的远程私有索引库
打开cmd, 输入

// XXX是myPrivateSpecBase的SSH地址, 在托管仓库中拷贝地址
pod repo add myPrivateSpecBase XXX

4.3检查是否添加本地私有索引库成功

打开cmd, 输入

pod repo

你会发现, 除了master外, 多了一个私有的索引库

4.4 移除索引库,可以输入

pod repo  remove myPrivateSpecBase

至此, 本地私有spec索引库已经添加成功

5.在代码托管平台, 创建远程代码托管仓库, 步骤和上面的步骤1相同

Snip20190716_10.png

6.创建本地组件库

6.1在本地创建远程仓库文件夹, 然后打开cmd, 定位到该文件夹

6.2在cmd输入pod lib create MyComponents , 创建本地模板库

pod lib create MyComponents 

填写以下模板信息

Snip20190716_13.png

6.2再次查看6.1生成的文件夹, 会显示

Snip20190716_15.png Snip20190716_18.png [图片上传中...(Snip20190716_21.png-c0934e-1563251584503-0)] Snip20190716_21.png

本地组件代码编译成功后, 准备提交到托管平台前,一定要修改spec文件信息, tag 和进行spec的合理性测试.

s.source 的地址一定要使用https的, 不能使用SSH的地址
Snip20190716_23.png

6.4 定位到组件库, 检测spec是否填写正确

cd /Users/xxx/Desktop/xcode工程/ZGKFMBase_respec/remoteLib/MyComponents 

// 检查spec是否填写正确
pod spec lint
Snip20190716_24.png

上述报错, 是没有给组件打上tag
解决方法:上传代码 + 打上tag

git status
git add .
git commit -m '修改'

// 查看是否有绑定仓库
git remote

// 添加仓库 myOrigin(第一次添加,需要添加仓库)
git remote add myOrigin https://git.xxxxxxx/MyComponents.git

// 推送代码
git push myOrigin master
// 

描述:向github仓库推送时(git push origin master),出现如下错误:​

error: 无法推送一些引用到 'https://github.com/yourname/youname.github.io.git'

提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外​​​​ ​

提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 ​

提示:(如 'git pull ...')。​​​ ​

提示:详见 'git push -- help' 中的 'Note about fast-forwards' 小节。​

解决方案:​​

git push -u origin +master​

强行更新。具体为什么,没研究。

// git强行更新
git push -u origin +master

6.5上传代码到远程仓库后, 需要打标签

// 查看已有版本标签
git tag

// 打标签0.2.0
git tag '0.2.0'

// 推送tag
git push --tags
// 如果上面的不行,则使用下面的( git push + 仓库 + --tags )
git push myOrigin master --tags

// 

6.6至此,本地组件库已经创建成功, 并推送到远程托管平台

7.将spec推送到自己私有的索引库

7.1 对同级目录下的spec文件进行合理性检测

pod spec lint

以下是检测成功:

Snip20190716_25.png

7.2 , 将spec推送到自己私有的索引库(spec被推送到私有索引库后, 会向上推向到pod的远程索引库)

// 查看本地索引库
pod repo

// 将spec推送到自己私有的索引库
pod repo push myPrivateSpecBase MyComponents.podspec

下面就是已经推送成功的提示:

Snip20190716_26.png

推送成功后, 会自动更新本地私有索引库

7.3 查看本地私有库是否添加spec成功
路径: (用户 -> .cocoapods -> ..... )


Snip20190716_32.png

7.4 查看远程私有库是否添加spec成功


Snip20190716_30.png Snip20190716_31.png

7.5 pod search 查找(完美)


Snip20190716_33.png

8. 项目中使用pod, 将私有组件加入

8.1 在安装私有库的组件时,要指定源source, 否则安装不成功

Snip20190716_34.png

pod install 后报错

所以, 要在cmd, 输入pod repo, 找到分别的源地址source, 指定优先安装私有索引库指定的组件

一定要设置私有和公有的source, 如果只设置私有库source, 公有库的AFNetWorking就安装不了了.

[图片上传中...(Snip20190716_36.png-b3aa39-1563261909469-0)] Snip20190716_36.png
// 查看本地索引库, 可以从中查找到源source
pod repo

至此, 已经完成了自己的远程私有组件库.

9. 重点总结

// 9.1 本地生成公钥秘钥
ssh-keygen

// 9.2本地添加自己的远程私有索引库
//  XXX是myPrivateSpecBase的SSH地址, 在托管仓库中拷贝地址
pod repo add myPrivateSpecBase XXX
// 9.3在cmd输入pod lib create MyComponents , 创建本地模板库
pod lib create MyComponents 
// 9.4git强行更新
git push -u origin +master
// 9.5推送tag,则使用下面的( git push + 仓库 + --tags )
git push myOrigin master --tags
// 9.6spec合理性检查
pod spec lint
// 9.7将spec推送到自己私有的索引库
pod repo push myPrivateSpecBase MyComponents.podspec

本地组件代码编译成功后, 准备提交到托管平台前,一定要修改spec文件信息, tag 和进行spec的合理性测试.

相关文章

  • 14.创建属于自己的远程私有组件库

    1.代码托管平台创建spec的私有库 这里我使用的是coding, 网址是: https://coding.n...

  • 组件化之创建私有远程库

    一.创建私有远程索引库 创建一个私有远程仓库主要的步骤如下: 创建远程索引库和私有组件库仓库 将远程索引库添加到本...

  • 用pods管理组件(远程私有库)

    远程私有库 1. 对组件进行git管理 2. 创建自己的远程私有库的远程索引库 3. 上传代码到远程库中。 3.1...

  • CocoaPod 私有库的使用方式

    创建及配置方式 到远程仓库创建工程 查看本地索引库 添加私有索引库 创建组件库 使用组件库模板创建 添加组件内容 ...

  • 组件化

    组件化的优点:1、降低业务之间的耦合度 一、创建远程私有仓库 a.创建私有库 b.将私有库关联到本地 二、创建私有...

  • 组件化踩坑总结

     经历了项目组件化(准备工作)项目组件化(一)创建本地私有库项目组件化(二)创建远程私有库这些天也踩了不少的坑出来...

  • iOS - 组件化开发

    零、一些小命令 一、组件架构(待更新) 创建本地私有库1)查看本地私有库 pod repo2)创建远程spec私有...

  • iOS组件化方案与实践:创建cocoapod私有库详细步骤

    制作远程私有库分为以下几个步骤: 一 、创建私有 Git 远程索引库 1.概念:每创建一个组件都会带有一个 xxx...

  • pod 私有库搭建流程

    Pod私有库是什么: 搭建步骤 1.创建远程索引私有库 2.创建远程私有库 3.在本地添加一个自己的远程索引库 4...

  • 组件化(第二篇)

    组件化 一、本地私有库方案优化二、远程私有库三、如何使用远端私有库四、远程私有库的升级五、远程私有库依赖问题六、远...

网友评论

      本文标题:14.创建属于自己的远程私有组件库

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