美文网首页
本地项目如何基于GitLab做私有库的集成

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

作者: 中峰 | 来源:发表于2018-12-28 19:09 被阅读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上了。

    相关文章

      网友评论

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

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