11、Git之自建项目保管渠道(GitLab极狐)
11.1、简介
Github 是国外的项目保管渠道,因为网络问题,在国内拜访和运用不是很便利。
Gitee 是国内的项目保管渠道,虽然在拜访和运用上挺便利的,但仍然让人忧虑项目代码或许会被走漏。
因而,从企业或组织的视点动身,是倾向于在内部自建一个项目保管渠道,将肯定办理权控制在自己手中的。
GitLab 作为一个用于项目代码库房办理的开源项目,则能很好地满意企业或组织在内部自建项目保管渠道的需求。
11.2、装置
本节演示怎么运用 rpm 装置包,在 CentOS 7 中离线装置 GitLab 。
11.2.1、下载装置包
gitlab 官网下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
清华大学开源软件镜像站下载地址(引荐):https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
如上图所示,本文挑选运用 gitlab-ce-16.10.6-ce.0.el7.x86_64.rpm 版别的装置包。
提示:EL7 是 Red Hat 7.x,CentOS 7.x 和 CloudLinux 7.x 的下载。
11.2.2、服务器预备
本文将 GitLab 装置在 CentOS 7 虚拟机上,虚拟机装备为 2 核 CPU 、4G 内存、16G 磁盘。
关于 CentOS 7 虚拟机的装置办法,请参阅装置CentOS7虚拟机这篇文章。
留意:16G 磁盘是最低装备要求;我运用过 8G 磁盘的虚拟机,装置完 GitLab 后,再新建一个普通用户账号,就用完了 8G 磁盘的空间,甚至都还没有创立任何项目库房。 关于怎么扩容 CentOS 7 虚拟机的磁盘,请参阅VirtualBox扩容CentOS-7虚拟机磁盘这篇文章。
11.2.3、上传装置包到服务器
如上图所示,运用 mobaxterm 之类的东西,将 rpm 装置包上传到 CentOS 服务器。
11.2.4、运转装置包
rpm -ivh 装置包称号
过错:依靠检测失利:
policycoreutils-python 被 gitlab-ce-16.10.6-ce.0.el7.x86_64 需求
留意:假如运转 GitLab 装置包时存在上述过错,则需求先装置 policycoreutils-python 依靠。
11.2.5、修正external_url装备
如上图所示,external_url 装备在 /etc/gitlab/gitlab.rb 文件中。
vi /etc/gitlab/gitlab.rb
如上图所示,external_url 装备默许值为 http://gitlab.example.com 。
如上图所示,将 external_url 装备修正为 'http://192.168.56.120:10005 。
其间,192.168.56.120 是 GitLab 地点的服务器的 IP ;10005 是自定义的端口,不然 GitLab 会占用 80 端口。
11.2.6、从头加载装备文件
gitlab-ctl reconfigure
留意:从头加载装备文件的进程比较耗时,耐性等候即可,呈现 gitlab Reconfigured! 即操作成功。
11.2.7、检查端口占用状况
上图为 CentOS 本身所运用的端口。
上图为从头加载 GitLab 装备文件后,端口的改变。
新加载 Gitlab 装备文件,会主动发动或重启 Gitlab ;所以不必再重复履行发动或重启指令。
11.2.8、常用指令速查表
指令 | 作用 |
---|---|
gitlab-ctl start | 发动 GitLab |
gitlab-ctl restart | 重启 GitLab |
gitlab-ctl stop | 中止 GitLab |
gitlab-ctl reconfigure | 新加载 GitLab 装备文件 |
gitlab-ctl status | 检查 GitLab 状况 |
gitlab-rake gitlab:check SANITIZE=true | 检查 GitLab |
gitlab-ctl tail | 检查 GitLab 日志 |
11.2.9、检查办理员初始化暗码
如上图所示,在第一次成功从头加载装备文件后,会为 GitLab 的 root 办理员账号随机生成一个初始化暗码;该暗码会在 24 小时后主动删去。
cat /etc/gitlab/initial_root_password
11.3、Gitlab的根本运用
11.3.1、拜访GitLab登录页
如上图所示,运用在 11.2.5 节装备的 external_url (http://192.168.56.120:10005)即可拜访 GitLab 登录页。
留意:假如拜访不了登录页,或许是服务器的防火墙问题,关掉防火墙即可;
systemctl stop firewalld
11.3.2、登录root办理员账号
如上图所示,运用生成的初始化暗码,登录root办理员账号。
如上图所示,这便是 GitLab 的主页。
11.3.3、修正界面言语为中文
如上图所示,点击“Preference”。
如上图所示,将 Language 挑选为简体中文,然后保存修正。
11.3.4、修正root办理员暗码
如上图所示,点击“修正个人材料”。
如上图所示,在“暗码”界面中,即可修正暗码。
如上图所示,修正暗码后,需求从头登录。
11.3.5、停用注册功用
如上图所示,GitLab 默许敞开自在注册账号功用,可是 GitLab 一般用于企业内部,因而一般都会停用注册功用,账号应由 root 办理员创立。
如上图所示,撤销“已启用注册功用”,然后保存更改即可。
如上图所示,停用注册功用后,登陆页面的“当即注册”进口消失了。
如上图所示,假如想康复启用注册功用,在“办理中心”->“设置”->“通用”中,能够找到“注册约束”的装备项康复装备。
11.3.6、创立新账号
如上图所示,在“办理中心”->“概览”->“用户”中,能够找到创立新用户的按钮。
如上图所示,设置新用户的称号、用户名和电子邮件。
如上图所示,设置新用户的权限为“办理员”。
如上图所示,新建用户成功后,会主动跳转到该用户的材料页,能够点击“修正”按钮,为该用户重置暗码。
如上图所示,为该用户设置暗码后,点击“保存更改”即可。
11.3.7、创立长途库房
如上图所示,点击“创立项目”。
如上图所示,挑选“创立空白项目”。
如上图所示,设置库房称号、库房归属用户、库房可见等级,然后点击“新建项目”按钮,即可创立一个长途库库房。
如上图所示,库房新建成功,能够获取到这个库房的 HTTP 和 SSH 地址。
11.3.8、装备SSH密钥
如上图所示,点击“修正个人材料”->“SSH密钥”,进入装备SSH密钥的界面;然后点击“增加新密钥”按钮。
如上图所示,将在本地生成的 SSH 公钥仿制到 GitLab,然后点击“增加密钥”即可完结SSH密钥的装备。
提示:关于本地生成和检查的 SSH 公钥方法,请参阅7.10.2 和 7.10.3 末节。
如上图所示,已成功在 GitLab 中增加了一个本地电脑生成的公钥。
这样一来,今后在本地电脑,运用长途库房的 SSH 地址履行 push (推送)指令的时分,就不需求登录了。
11.3.9、生成拜访令牌
如上图所示,点击“修正个人材料”->“拜访令牌”,进入装备拜访令牌的界面;然后点击“增加新令牌”按钮。
如上图所示,在增加拜访令牌的装备界面中,设置该拜访令牌的称号(恣意称号,本例为for_idea),设置该令牌的过期时刻,还有设置该令牌的权限(本例选中api,即全权限);然后点击“创立个人拜访令牌”即可生成一个拜访令牌。
如上图所示,拜访令牌已成功生成。
留意:该拜访令牌相当于 GitLab 的账号暗码,所以不能向陌生人泄漏。
此外,该拜访令牌要赶快仿制保存,不然改写页面后就消失;假如没能及时保存,也能够删去从头生成一个。
11.4、IDEA集成GitLab
11.4.1、装置GitLab插件
如上图所示,在“File”->“Settings”->“Version Control”中能够看到,IDEA 默许没有和 GitLab 的相关的功用,因而需求额定装置 GitLab 插件。
如上图所示,在“Plugins”->“Marketplace”中,查找“GitLab”,即可找到 GitLab 插件来装置。
如上图所示,装置完结插件后,需求重启 IDEA 才干运用该插件。
如上图所示,GitLab 插件装置成功后,能够在“Version Control”中找到和 GitLab 的相关的功用。
11.4.2、装备GitLab服务器
如上图所示,在“Version Control”->“GitLab”中,点击“Add New GitLab Server”按钮,在弹窗中,装备 GitLab 服务器的地址。
留意:这儿运用到了 11.3.9 节生成的拜访令牌。
11.4.3、共享项目到GitLab
11.4.3.1、翻开共享弹窗
如上图所示,点击“VCS”->“Import into Version Control”->“Share Project on GitLab”,即可翻开共享项目到 GitLab 的弹窗。
11.4.3.2、设置长途库特点
如上图所示,在弹窗中设置长途库的称号(本例为 gitlab_gittest)、长途库的分组(本例为 lb-liaojy )、长途库的衔接类型(本例为 SSH)以及长途库的可见等级(本例为 Public )。
11.4.3.3、共享操作作用
如上图所示,承认进行 SSH 衔接。
如上图所示,在弹窗中点击“share”按钮(相当于创立长途库然后push操作)后,项目成功地被共享到 GitLab 。
如上图所示,在 GitLab 中能够看到长途库已存在。
关于怎么运用 IDEA 推送更新到长途库、拉取更新到本地库以及克隆长途库到本地,请参阅10.4.4、10.4.5 和 10.4.6 节,本文不再赘述。