图文摘要

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

GitLab安装过程

作者:互联网 来源: 发布时间:2022-03-26 08:03:53

查看内存配置

我们先不急着来安装gitlab,先来看一下自己电脑的内存情况,我把这一步提到最前面,是因为这是我安装过程中遇到的最大的坑。

这里主要关注swap交换分区,由于我在装gitlab之前机器中已经运行了lnmp相关服务,所以在安装过程中swap出现被占满的情况,导致启动gitlab的时候卡顿奔溃,就算关闭之前的php以及nginx服务,1G的swap也是十分不足,所以最好的办法是在安装gitlab之前就对swap进行扩展。

扩展swap(虚拟内存)

查看本机的内存,当然这是我扩展之后的,不然你将看到used跟total几乎一样

增加分区大小,使用如下指令,大小为2G:

 # dd if=/dev/zero of=/data/swap bs=1024 count=2048000

设置交换文件:

 # mkswap /data/swap

然后我们就可以启用这个交换文件来为分区增加容量了:

 # swapon /data/swap

相对应的关闭命令为:

 # swapoff /data/swapp

开机引导时自动启用,则需要编辑 # vim /etc/fstab ,添加如下代码,保存并退出:

 /data/swap swap swap defaults 0 0


安装gitlab

终于到了激动人心的时刻了,正式开始gitlab的安装,按照顶上的教程,首先配置gitlab的yum安装源:

 # vim /etc/yum.repos.d/gitlab-ce.repo

在repo文件中添加以下内容,保存并退出:

  [gitlab-ce]
  name=Gitlab CE Repository
  baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
  gpgcheck=0
  enabled=1

然后更新本地yum缓存,提高搜索安装软件的速度(这些操作记得都在sudo下进行):

 # yum makecache

准备就绪,开始安装gitlab最新版,这个安装将会安装gitlab所需的所有环境,一步到位,装好即用:

 # yum install gitlab-ce

安装完之后需要使服务生效,我的内存瓶颈就是卡在这步上,重启了服务器,再增加分区才解决了:

 # gitlab-ctl reconfigure

 然后启用gitlab组件就能运行了,这里需要说明,如果之前配置了php运行环境的话,可能会跟gitlab冲突,可以选择关闭其中一个来切换使用:

 # gitlab-ctl start

GitLab常用命令列表

gitlab-ctl start # 启动所有 gitlab 组件;

gitlab-ctl stop # 停止所有 gitlab 组件;

gitlab-ctl restart # 重启所有 gitlab 组件;

gitlab-ctl status # 查看服务状态;

gitlab-ctl reconfigure # 启动服务;

vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;

gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;

sudo gitlab-ctl tail # 查看日志;

 注意事项以及异常故障排查:

1,按照该方式,我安装了一个确实没问题,只不过是英文版。没有经过汉化(汉化请参考后边的教程)。

2,默认安装登录需要重置root密码。可以自己单独设置一个复杂密码后登录。

3,gitlab本身采用gitlab.example.com:80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。

修改vim /etc/gitlab/gitlab.rb:external_url 'http://localhost:90

如果就想用80端口,那没问题。如果更改了端口,后边可以自行调整nginx配置文件进行nginx反向代理设置。

4,这里可以绑定自己的gitlab的域名或者公网、内网IP替换localhost进行公网访问,具体根据自己的实际情况。安全起见,一般会将gitlab部署于内网。具体部署到哪里,请根据自己的实际情况来定。(基于安全原因,这里不建议设置公网IP进行暴露,可以通过nginx设置IP绑定进行return或者其他规则进行IP回避访问。)

本站测试gitlab地址域名为:gitlab.21yunwei.com

5,unicorn本身采用8080端口,如果你那里没有8080使用,可以后边不用修改了。如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口:

修改 /etc/gitlab/gitlab.rb:

unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 3000

每次重新配置,都需要执行sudo gitlab-ctl reconfigure 使之生效。

6,日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。

gitlab-ctl tail #查看所有日志

gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

创建Project

1、安装Git工具linux:安装Git,使用自带的源安装。

yum install git

GitLab的安装及使用教程

2、生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub。

GitLab的安装及使用教程

GitLab的安装及使用教程

3.在GitLab的主页中新建一个Project

GitLab的安装及使用教程

GitLab的安装及使用教程

4.添加ssh key导入步骤2中生成的密钥文件内容:

GitLab的安装及使用教程

GitLab的安装及使用教程

ssh key添加完成:

GitLab的安装及使用教程

项目地址,该地址在进行clone操作时需要用到:

GitLab的安装及使用教程

简单配置

1、配置使用Git仓库的人员姓名(以上海驻云为例)

git config --global user.name "上海驻云" 

2、配置使用Git仓库的人员email,填写自己的公司邮箱

git config --global user.email "support@jiagouyun.com" 

3、克隆项目,在本地生成同名目录,并且目录中会有所有的项目文件

git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git

GitLab的安装及使用教程

上传文件

1、进入到项目目录

cd test/ 

2、创建需要上传到GitLab中的目标文件

echo “test” >  /root/test.sh

3、将目标文件或者目录拷贝到项目目录下

cp /root/test.sh ./  

GitLab的安装及使用教程

4、将test.sh文件加入到索引中

git add test.sh 

5、将test.sh提交到本地仓库

git commit -m “test.sh”

6、将文件同步到GitLab服务器上

git push -u origin master 

GitLab的安装及使用教程

7、在网页中查看上传的test.sh文件已经同步到GitLab中

GitLab的安装及使用教程

六 gitlab中文汉化【如不清楚gitlab版本以及git,请不要操作,否则gitlab瘫痪!建议运维人员或者对gitlab比较熟悉的人操作】

(1)centos 6.x汉化步骤。【centos 7.x请查看(2)步骤)】

1,克隆gitLab汉化仓库

首先我们要确认下当前我们gitlab的版本,查看版本命令如下:

[root@21yunwei src]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

8.8.5

比如我安装的gitlab版本是8.8.5,那么我就需要下载这个版本的补丁。

克隆汉化仓库地址(这个比较全,可以自己切换对应分支):

git clone https://gitlab.com/larryli/gitlab.git

下载完以后进入gitlab查看补丁版本:

[root@21yunwei src]# cat gitlab/VERSION

8.8.5

版本正确,后边可以正式操作了。

PS:有很多朋友安装了或旧或老版本,不同版本的地址可以到https://gitlab.com/larryli/gitlab/tags 进行下载,这里的版本很全,基本可以满足下载使用,仅仅版本不一样而已,其他后续操作都是一样的。

2,汉化操作

停止当前gitlab运行。

gitlab-ctl stop

执行如下操作:

cd /usr/local/src/gitlab #说明:这个就是刚才我们git clone以后的目录,需要进入到这个仓库进行操作。

git diff origin/8-8-stable origin/8-8-zh > /tmp/8.8.diff

说明:8-8-stable是英文稳定版,8-8-zh是中文版,两个仓库git diff结果便是汉化补丁了。

3,应用汉化。

cd /opt/gitlab/embedded/service/gitlab-rails
git apply /tmp/8.8.diff

启动gitlab:

gitlab-ctl start

(2)centos 7.x汉化步骤。

1,下载补丁。这个没有采用larryli的,而是另外一个安装包。larrili测试在centos7有报错。

git clone https://git.oschina.net/qiai365/gitlab-L-zh.git

2,切换分支。这里centos7测试的是8.5.4低版本,需要进行切换。

cd gitlab-L-zh

git checkout -b 8-5-zh origin/8-5-zh

cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}

3,汉化操作

首先停止gitlab:

gitlab-ctl stop

汉化操作:

yes|cp -rf ../gitlab-L-zh/* /opt/gitlab/embedded/service/gitlab-rails/

4,启动,查看效果

gitlab-ctl start

低版本gitlab默认用户名和密码:root/5iveL!fe