本地项目如何基于GitLab做私有库的集成

2018-12-28  本文已影响32人  中峰

GitLab被用于存储公司的项目,我们可以把公司项目所用到的组件也放到GitLab上,使用Cocoa Pods来直接快速集成。

但是初学者首次使用GitLab做这个集成,头绪很乱,会遇到很多坑,经我摸索,来了,梳理出了流程,按这个流程,即可快速学会。

1、在GitLab上创建一个私有库

屏幕快照 2018-12-28 下午5.52.16.png

这里建的私有库名称是ZFGitLabTest,Visibility Level默认是Private。
此时的GitLab上这个私有库是个空库,什么都没有。

2、在本地的项目文件夹中创建本地私有库

屏幕快照 2018-12-28 下午5.56.21.png 屏幕快照 2018-12-28 下午5.57.21.png

cd到本地的项目文件夹
输入 pod lib create ZFGitLabTest 敲回车,直到出现问你问题,请根据需要回答:

屏幕快照 2018-12-28 下午6.03.24.png

What platform do you want to use?? [ iOS / macOS ]

ios

What language do you want to use?? [ Swift / ObjC ]

objc

Would you like to include a demo application with your library? [ Yes / No ]

yes

Which testing frameworks will you use? [ Specta / Kiwi / None ]

none

Would you like to do view based testing? [ Yes / No ]

no

What is your class prefix?

ZF

回答完最后一个问题,敲回车,本地项目文件夹中会出现一个ZFGitLabTest文件夹,而且Xcode会自动打开这个ZFGitLabTest库,关闭即可。此时,说明ZFGitLabTest私有库已经创建完毕。

屏幕快照 2018-12-28 下午6.07.51.png

3、修改本地私有库的podspec文件

使用pod lib create 创建的本地私有库默认是基于GitHub的,因此生成的podspec文件中的s.homepage和s.source中的git也都是基于GitHub的,我们需要将这两个地方修改成基于GitLab的地址。

s.homepage即是这个私有库在GitLab上的主页地址(地址栏中的地址);
s.source中的git即是这个私有库在GitLab上的git地址

屏幕快照 2018-12-28 下午6.24.34.png

其他的可以不动。

4、将本地私有库推送到GitLab上的私有库

cd到本地的这个私有库,依次执行以下命令:

git init
git remote add origin https://yyyy/xxxx/zzz.git
(说明:https://yyyy/xxxx/zzz.git 是 你的这个私有库在GitLab上的git地址)
git add .
git commit -m "your commit message"
git push -u origin master

无意外的话,应该就可以把你的本地私有库中的文件全部推送到了GitLab上的私有库了。
这里之所以是无意外,有可能会遇到推送不上去的问题,出现Updates were rejected because the remote contains work that you do....或者You are not allowed to force push code to a protected branch on this project.....或者其他杂七杂八的问题,我百度了很多解决方案,都不行。最后这样解决的:

屏幕快照 2018-12-28 下午6.43.14.png 屏幕快照 2018-12-28 下午6.43.28.png

5、本地项目集成本地私有库

由于本地私有库还处于开发过程中,因此我们以development pods的方式集成到本地项目中。

在podfile文件中增加:
pod 'ZFGitLabTest', :path => "./ZFGitLabTest/ZFGitLabTest.podspec"

这种方式就是集成本地的ZFGitLabTest这个库。

如果你写成 :
pod 'ZFGitLabTest', :git => "https://xxxx/yyyy/zzz.git"

这种方式就是集成GitLab上的ZFGitLabTest,不过这种一般是在ZFGitLabTest开发完成后使用,直接去GitLab集成已经开发完毕的ZFGitLabTest。私有库的开发过程中还是最好使用第一种写法。

cd到本地的项目文件夹,执行pod install,ZFGitLabTest被集成到项目中了

屏幕快照 2018-12-28 下午7.00.07.png 屏幕快照 2018-12-28 下午7.01.54.png

6、测试

我们在本地的私有库中增加几个文件(xxx.h和xxx.m),同时删除那个默认创建出来的没用的ReplaceMe.m文件,然后推到GitLab上,看本地私有库的改动能否关联到GitLab上。

文件操作完毕后,执行pod install,就会看到新增文件的正确目录结构了,开始推送到GitLab上。

cd到这个私有库,执行:
git add .
git commit -m "your commit message"
git push

到GitLab看一眼,这个私有库已经更新了:


屏幕快照 2018-12-28 下午7.07.19.png

我们以后就可以本地更新了这个私有库,推送到了GitLab上了。

上一篇下一篇

猜你喜欢

热点阅读