天天看点

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

  在写这篇博客之前,为了更好的描述整个流程,本人亲自尝试了:从搭建到使用,下面就围绕这个流程来阐述整个过程,目录结构如下所示:

git的安装搭建

git的常规操作

gitlab的搭建

gitlab的使用

  下面我们开始整个流程。

  其实,作为开发人员,git的使用是必备的技能,也许我们都很熟悉如何使用git,对git的常用命令也了如指掌;但是对git服务器的搭建也

许我们并不太在意,因为这些事情自从我们进入公司,运维人员就已经帮我们做好来,我们只需要知道如何去使用(拉去代码,提交代码)。但是如果有一天,你去

来一家打算使用git来作为代码管理器的公司,要求你来搭建这个代码管理平台,也许你会碰很多壁,下面给出我搭建的流程,也许能为您节省很多不必要的麻

烦,保证您一次搭建成功。

环境准备:

系统环境:centos 6.x

软件版本:git-2.3.1.tar.gz

下载地址:https://www.kernel.org/pub/software/scm/git/

编译git版本:

  首先安装依赖(以下都是在root目录下完成):

  

  注:编译时如果操作系统没有安装gcc,使用yum –y install gcc*

  另外,如果直接使用yum –y install git安装的版本比较旧(1.7.x),安装完成后输入git --version,会显示对应的版本号,若现实的版本号不对(之前操作系统存在git),可以先卸载之前的版本,然后做一个软链接,命令如下:

  下面创建git用户,命令如下所示:

  在git用户下安装ssh,命令如下所示:

  然后一路回车即可。

  这是一款git服务管理工具,通过公钥对用户进行认证,并能够利用配置文件进行repo的精细授权管理。 输入以下命令:

  出现如下图所示,即表示成功。

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

  由于手上机器有限,我将权限配置和git 仓库配置在同一台机器上,在前面我们添加了git用户下的公钥,下面在git账户下直接输入如下命令:

  注:这里的git.company.com在实际使用中可以换成公司域名或ip。

  如果在执行命令时,需要输入密码,说明前面某些配置出错了,需要重新查证解决后在继续。

  克隆完成后,会在gitolite-admin目录下出现两个子目录:conf和keydir。conf是gitolite的权限配置文件

夹,keydir用于放置所有用户的公钥。所以,现在我们将guest.pub文件(开发者电脑生成的公钥)放入keydir目录中,然后编辑

conf/gitolite.conf,在文件末尾添加新的repo和权限。下面我们添加一个repo为hdfs-etl,拥有读写权限。内容如下:

  注:r(读)w(写)

  修改完成后,我们提交更改,完成用户及其库的添加,命令如下:

  下面我在guest的主机上克隆hdfs-etl的工程,命令如下:

 如果在网络正常的情况下克隆失败,说明公钥添加未成功;若克隆成功,则会出现hdfs-etl的目录。当然我们也可以查看一下操作的权限,命令如下:

  如下图所示:

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

  如图所示,我机上上拥有读和写的权限,与配置的权限一致。

  任何地方使用ssh或git登录到git服务器需要输入密码,都说明配置git服务器出现错误,需要重新安装gitolite,重新安装前先清除之前的文件,清除命令如下所示:

  到这里git篇就赘述完成了,至于git 的常用操作,我想作为开发人员,应该是了熟于心,这里我就不多赘述了。

  gitlab 是一个用于仓库管理系统的开源项目。使用git作为代码管理工具,并在此基础上搭建起来的web服务,它集成了github的可视化功能,方便开发人员协同工作,下面我就围绕gitlab的搭建使用来展开描述。

  操作系统:centos 6.x

  gitlab版本:7.8.1

  由于gitlab官方给出的安装过程难以成功(尝试过很多次,各种出错,环境只是一种工具,不应该花费太多的时间在这上面)。下面给出一个集成安装工具包bitnami,关于bitnami的简介,这里不做赘述,可自行谷歌了解。

  bitnami-gitlab下载地址:https://downloads.bitnami.com/files/stacks/gitlab/7.8.1-0/bitnami-gitlab-7.8.1-0-linux-x64-installer.run

  下载完成后,我们开始安装流程,命令如下:

  注:机器内存至少1g,不然跑不起来。

  下面列出安装流程:

  到这里,gitlab就安装完成了。

  命令如下:

  下面我们登录到gitlab的可视化界面,截图如下:

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

  其实首次登录的时候,如果没有在配置文件中配置,是会有注册功能的,这里为了安全考虑,我以管理员的身份登录,然后在设置界面去掉了注册功能。

  下面演示gitlab使用流程:

创建项目:

  其中需要注意: 如果属于group级的项目,也就是属于多人配合的项目,建议namespace使用group name,另外visibility默认为internal。我们先创建一个组,如图所示:

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

  这里我们添加组所属用户,如图所示:

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结
Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

源仓库的构建

  我们接下来按照步骤来创建一个自己的项目:

Git和Gitlab协同工作1.概述2.Git篇3.Gitlab篇4.Gitlab使用5.总结

  按照以上提示的步骤操作,我们即可以创建或者导入一个项目成功。

  到这里,gitlab的搭建和项目创建就介绍完成了。

  后面,等手上的资料整理完成后,我会在写一篇gitlab的pull request工作流的介绍,这篇文章就分享到这里;如果有什么问题,可以加群讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!