gitLab创建自己的私有库

摘要:
I创建私有库的过程简介创建一个项目,留下以下过程3创建私有库创建一个代码库,您可以在其中创建私有库。Coderepository是一个代码存储库,我们将代码上载到此存储库。创建一个专用存储库,您可以在其中创建专用存储库。Specrepository是一个配置存储库。所有配置都按包名称和版本号存储在此存储库中。

一.创建私有库的流程简介

  • 创建一个项目,留着后面的流程3制作私有库
  • 在可以创建私有库的地方创建一个code repository, code repository是代码仓库,我们把代码上传到这个仓库。
  • 在可以创建私有库的地方创建一个spec repository, spec repository是配置仓库,所有的配置按照包名、版本号分门别类的存放在这个仓库。这个仓库只用来存放podspec文件,不存放代码。 
  • 克隆code repository到本地并添加私有库代码文件,上传所有文件到远端的库中并打tag 
  • 创建并编辑三个私有库配置文件:创建和编辑README.md、创建和编辑LICENSE、创建和编辑podspec文件(验证podspec文件是否正确,如果有问题要确保更改完成,否则无法继续进行 )
  • 创建本地的私有仓库文件 
  • 将配置文件push到远端专门存储配置文件的仓库中 
  • 确认已经制作完成并使用

二.创建的详细流程

1.创建一个项目,留着后面的流程3制作私有库

  1)在这里我们选择用Cocoa Touch Static Library创建一个新的工程,取名为JXTool 

       gitLab创建自己的私有库第1张    gitLab创建自己的私有库第2张

  2)删除掉默认的.h和.m文件,加入自己已经准备好的工具类,最后主要就是用这个工具类去制作的私有库,这里简便起见就只是执行打印了

#import <Foundation/Foundation.h>

@interface logTest : NSObject
- (void)test;
@end
#import "logTest.h"

@implementation logTest
- (void)test {
    NSLog(@"test111111");
}
@end

  gitLab创建自己的私有库第3张

2.在可以创建私有库的地方创建一个code repository(代码仓库), 一个spec repository(配置仓库)

  这里我使用的是gitlab,除了gitlab之外还可以使用github(私有需要收费) 、开源中国、CODING、Bitbucket、CSDN code都可以,但这里使用gitlab来介绍所有的操作 

  1)点击右上角的加号按钮,创建代码仓库名为JXCodeRep

       gitLab创建自己的私有库第4张

  2)同上面方法,创建配置仓库名为JXSpecRep,所以此时除了名字不同外,其他都一样 .所以这里建议使用不同的仓库名字来区别这两个不同作用的仓库

       gitLab创建自己的私有库第5张

3.克隆code repository到本地并添加步骤1中的私有库代码文件,上传所有文件到远端的库中并打tag

  1)打开git管理工具SourceTree,点击新建按钮,选择从URL克隆选项,将上面的远程代码仓库地址复制进去,选择好自己的目标路径和名称后点击克隆 

  gitLab创建自己的私有库第6张

  2)这时候第一次克隆下来的文件夹是没有东西的(这里不算隐藏文件)

  gitLab创建自己的私有库第7张

  因此别忘了按照gitLab官网进行下面操作,打开终端,在默认的路径下就行

  gitLab创建自己的私有库第8张

  3)拉取远程代码仓库,将我们之前步骤1中建立好的整个项目全部拖进这个文件夹替换README.md

  gitLab创建自己的私有库第9张           gitLab创建自己的私有库第10张

  4)进入SourceTree,点击文件状态,将所有的改动全选后提交,再推送到git服务器.将你需要某次修改打上一个tag 1.0,作为一个库的修改版本.注意::别忘了,勾选上"推送标签",这个非常重要

  gitLab创建自己的私有库第11张    gitLab创建自己的私有库第12张

4.创建并编辑三个私有库配置文件

  1)创建和编辑README.md、创建和编辑LICENSE(我在这里就不创建这两文件了,只是简单说下创建方法)

  这个文件在github中也有,是项目的说明文件,根据自己的项目做一些说明.打开终端,cd到工具类文件所在的路径下

  gitLab创建自己的私有库第13张

  2)创建和编辑.podspec文件(这步最容易出错)

  打开终端输入

cd ~/

  为了后续私有库的维护,建议名字和工具类所在项目名一样,进入到根目录后创建一个名字叫JXTool.podspec的文件

pod spec create JXTool

  gitLab创建自己的私有库第14张

  准备通过vim进行编辑

vim JXTool.podspec

  先别按下 i进入编辑模式,清空全部内容

:%d

  内容清空后点击i 进入编辑模式,输入以下内容

Pod::Spec.new do |s|
  s.name         = "JXTool"
  s.version      = "1.0" #当前版本
  s.summary      = "JXTool a hello " #描述
  s.homepage     = "http://git.op.xywy.com/liunian/JXCodeRep.git" #库文件主页地>址
  s.license      = 'MIT'
  s.author       = { 'liunian' => 'liunian@xywy.com' }  #开发者
  s.source       = { :git => 'git@git.op.xywy.com:liunian/JXCodeRep.git', :tag => '1.0' } #文件的git地址,以及当前版本对应的tag,这个1.0就是我刚刚标注的
s.source_files = 'JXTool/JXTool/*' #文件所在的目录,后面*是一个正则表达式,目录我下面会有解释
 # s.source_files = 'JXTool/JXTool/*.{h,m}' #文件所在的目录,后面*.{h.m}是一个正则表达式,目录我下面会有解释
 # s.resources    = 'JXTool/JXTool/*.xib' #资源文件所在的目录图片,xib等,这个demo没有用到
  s.framework    = 'UIKit' #当前这个库所依赖的系统的库
  s.platform     = :ios
  s.requires_arc = true #是否支持arc
end

  退出编辑esc,保存

:wq

  3)进入终端后验证.podspec文件是否有效

pod spec lint JXTool.podspec --allow-warnings

  有passed validating则表示spec文件验证通过了

   gitLab创建自己的私有库第15张

5.创建'本地的私有仓库'文件 

1)使用下面的命令就可以在本地生成配置文件的仓库,建议这个本地的名字也和远程的一致,这样便于区分和后期的维护.
JXSpecRep 是你远端创建的配置文件仓库的名字,后面是配置文件仓库远端的地址 .
注意此时不需要cd进入任何目录,从默认位置输入这个命令,即在点击终端快捷方式打开的状态下直接输入下面的命令即可

pod repo add JXSpecRep http://git.op.xywy.com/liunian/JXSpecRep.git

2)查看是否添加成功

pod repo list

  如果出现了JXSpecRep,则代表添加成功

  gitLab创建自己的私有库第16张

   或者返回桌面command+shift+G查询本地配置仓库管理文件夹

~/.cocoapods/repos

  gitLab创建自己的私有库第17张 gitLab创建自己的私有库第18张

6.将配置文件push到远端专门存储配置文件的仓库中 

1)将配置文件push到远端专门存储配置文件的仓库中 ,本地的也会同步更新
此时需要cd进入本地的.podspec所在的路径,默认是根目录,否则会找不到podspec文件
使用下面的命令即可,有问题可以参考报错信息去修改
JXSpecRep 是你创建的spec repository的名字,后面是你本地创建的.podspec文件

pod repo push JXSpecRep JXTool.podspec --allow-warnings

  2)出现下面信息,则代表成功

  gitLab创建自己的私有库第19张

  或者查询本地私有spec管理文件夹,看到了JXTool则代表成功

open ~/.cocoapods/repos

  gitLab创建自己的私有库第20张  

  3)可以在远端仓库中看到这个文件,并且远端配置文件仓库中有且只有这一个文件 

  gitLab创建自己的私有库第21张

7.确认已经制作完成并使用 

  1)查询是否有我们需要的私有库 

pod search JXTool

  gitLab创建自己的私有库第22张

  2)新建一个项目后,初始化pod

pod init

  编辑Podfile文件

vim Podfile

  在合适的地方pod我们的私有库  

source 'http://git.op.xywy.com/liunian/JXSpecRep.git'
pod 'JXTool', '1.0'

  cd到项目的路径下

pod install

  gitLab创建自己的私有库第23张

  3)导入头文件,使用工具类

  gitLab创建自己的私有库第24张

  大功告成!

三.补充

  下面主要讲述在同一台笔记本操作,也就是还保留着之前所有相关本地的文件

  1.更新私有库

1)参照上面步骤3将私有库克隆下来,然后进行工具类代码的修改,重新提交到远程仓库,并设置标签,例如2.0,即再执行一遍步骤3的1)和4)

  修改的地方

#import "logTest.h"

@implementation logTest
- (void)test {
    NSLog(@"test222222");
}
@end

2)编辑.podspec文件,我这里是同一台笔记本还有原先的文件,所以不用再次创建了,直接编辑

vim JXTool.podspec

修改下面的信息,即所有1.0的地方都修改成最新的标签2.0

Pod::Spec.new do |s|
  s.name         = "JXTool"
  s.version      = "2.0" #当前版本
  s.summary      = "JXTool a hello " #描述
  s.homepage     = "http://git.op.xywy.com/liunian/JXCodeRep.git" #库文件主页地>址
  s.license      = 'MIT'
  s.author       = { 'liunian' => 'liunian@xywy.com' }  #开发者
  s.source       = { :git => 'git@git.op.xywy.com:liunian/JXCodeRep.git', :tag => '2.0' } #文件的git地址,以及当前版本对应的tag,这个1.0就是我刚刚标注的
s.source_files = 'JXTool/JXTool/*' #文件所在的目录,后面*是一个正则表达式,目录我下面会有解释
 # s.source_files = 'JXTool/JXTool/*.{h,m}' #文件所在的目录,后面*.{h.m}是一个正则表达式,目录我下面会有解释
 # s.resources    = 'JXTool/JXTool/*.xib' #资源文件所在的目录图片,xib等,这个demo没有用到
  s.framework    = 'UIKit' #当前这个库所依赖的系统的库
  s.platform     = :ios
  s.requires_arc = true #是否支持arc
end

  后面的步骤依然和之前的一样,参照上面的步骤,参照上面的步骤4.3)

  gitLab创建自己的私有库第25张 

  见到JXTool (2.0)极为成功

  3)将配置文件push到远端专门存储配置文件的仓库中,参照上面的步骤6

  gitLab创建自己的私有库第26张  gitLab创建自己的私有库第27张

见到上面的则为成功

4)确认已经制作完成并使用

编辑原先测试demo的Podfile文件,pod update之后运行看结果

gitLab创建自己的私有库第28张

终于大功告成!!!!

 

  由于我是第一次去主动在gitlab上创建私有库,查了很多资料都不是很详细,看了也是迷糊的很,所以特别抽空研究了一番,结合几篇别人的文章,自动亲手实践,最后整理成这篇笔记,可能对于熟悉创建私有库的人来说废话很多,很冗余,但是真心希望能帮助和我一样的新手,一起学习。

免责声明:文章转载自《gitLab创建自己的私有库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VSCode的常用快捷键集合jmeter系列(10)-CSV 数据文件设置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mac usr/bin 目录 权限问题

Mac进行 usr/bin 目录下修改权限问题,operation not permitted 一般情况下我们在使用mac系统过程中下载一些文件、新建一些项目之后,这些文件都会默认是只读状态,这时我们只需要简单的一句权限设置命令就可以解决 sudo chmod -R 777 你要修改文件上层目录的路径 但是我们在对 usr/bin 目录下的文件进行操作的时...

删除或重命名文件夹和文件的方法

删除或重命名文件夹和文件的办法 一、Linux、CentOS下重命名文件和文件夹mv:move 用移动文件命令就可以了,因为linux系统没有专门的重命名命令。基本格式:移动文件:mv 文件名 移动目的地文件名重命名文件:mv 文件名 修改后的文件名示例:mv oldfilename newfilename (oldfilename为旧文件名,newfil...

Gitlab--安装及汉化

简介 gitlab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git 项目仓库,可通过Web界面迚行访问公开的戒者私人项目。Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。GitLab 拥有与Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常...

gitlab的fork及源项目的同步

此篇大部分貌似是cp其他地方的,也忘了出处,写到此处,权当保存,见谅。 测试代码master同步到生产代码master #现有git@gitlab.home.com:root/fork.git项目,fork该项目,得到git@gitlab.home.com:test/fork.git项目。接下来需要实现test/fork同步源项目root/fork: (1...

Makefile系列之三 : 变量

一、变量的基础变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来。如果你要使用真实的“$”字符,那么你需要用“$$”来表示。二、变量中的变量在定义变量的值时,我们可以使用其它变量来构造变量的值,在Makefile中有两种方式来在用变量定义变量的值。1)使用“=”号,在“=”左侧是变...

gitlab发送邮件配置

在使用gitlab过程中,通常需配置邮件来实现代码管理服务器向成员(member)发送邮件。本文将实现gitlab中邮件配置 1.编辑 /etc/gitlab/gitlab.rb,修改配置邮件,这里以网易邮箱为例: 2. wq保存退出 3.重新配置gitlab gitlab-ctl reconfigure 4.通过命令行测试邮件是否发送成功 #git...