Centos7.4安装部署Gitlab服务器

Linux IT敢客 12个月前 (12-28) 8946次浏览 已收录 1个评论 扫描二维码

一.GitLab 简介

        GitLab 是利用 Ruby On Rails 开发的一个开源版本管理系统,实现了一个自托管的 Git 项目仓库,是集代码托管,测试,部署于一体的开源 git 仓库管理软件,可通过 web 界面来进行访问公开的或私人项目。与 Github 类似,GitLab 能够浏览代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本,并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后需要的时候查找。

Git 的家族成员:

  1. Git:是一种版本控制系统,是一个命令,是一种工具。

  2. Gitlib:是用于实现 Git 功能的开发库。

  3. Github:是一个基于 Git 实现的在线代码托管仓库,公开项目是免费的,也可以付费创建私人项目。

  4. GitLab:是一个基于 Git 实现的在线代码仓库托管软件,可以用 GitLab 搭建一套类似 Github 的系统。

        GitLab 对硬件还是有一定要求的,1 核心的 CPU 基本上可以满足需求,大概支撑 100 个左右的用户,不过在运行 GitLab 网站的同时还需要运行多个后台 job,就会显得有点捉襟见肘了。需要至少 4GB 的可寻址内存(RAM 交换)来安装和使用 GitLab,操作系统和任何其他正在运行的应用程序也将使用内存,因此请记住,在运行 GitLab 之前,您至少需要 4GB 的可用空间。如果使用更少的内存,GitLab 将在重新配置运行期间给出奇怪的错误,我用虚拟机来分别新建 1G,2G 内存的CentOS系统来装 GitLab,确实非常捉襟见肘啊,伤不起。


二.GitLab 的安装
1. 安装依赖软件

我这里使用的是 centos 7.4 64bit

yum -y install policycoreutils openssh-server openssh-clients postfix

2.设置 postfix 开机自启,并启动,postfix 支持 gitlab 发信功能
systemctl enable postfix && systemctl start postfix
3.下载 gitlab 安装包,然后安装
centos 6 系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
centos 7 系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
我的是 centos7,所以我在 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 中找了个 gitlab8.0.0 版本,建议下载一个比较新的版本,我这里选了一个比较旧的版本仅仅是实验
下载 rpm 包并安装:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
4.修改 gitlab 配置文件指定服务器 ip 和自定义端口:
vim  /etc/gitlab/gitlab.rb
Centos7.4 安装部署 Gitlab 服务器
退出并保存
ps:注意这里设置的端口不能被占用,默认是 8080 端口,如果 8080 已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口
5.重置并启动 GitLab
执行:
gitlab-ctl reconfigure
gitlab-ctl restart
ok: run: gitlab-git-http-server: (pid 3922) 1s
ok: run: logrotate: (pid 3929) 0s
ok: run: nginx: (pid 3936) 1s
ok: run: postgresql: (pid 3941) 0s
ok: run: redis: (pid 3950) 0s
ok: run: sidekiq: (pid 3955) 0s
ok: run: unicorn: (pid 3961) 1

提示“ok: run:”表示启动成功

6.访问 GitLab 页面
如果没有域名,直接输入服务器 ip 和指定端口进行访问
初始账户: root 密码: 5iveL!fe
第一次登录修改密码
Centos7.4 安装部署 Gitlab 服务器

三.GitLab 的汉化

成功安装 GitLab 后,很多朋友会想到汉化,当然如果团队里英文水平都不错的话,是没必要汉化的。

GitLab 中文社区的项目,v7-v8.8 是由 Larry Li 发起的“GitLab 中文社区版项目”(https://gitlab.com/larryli/gitlab),从 v8.9 之后由@xhang 开始继续汉化项目(https://gitlab.com/xhang/gitlab)。

mkdir /home/local/gitlab
cd /home/local/gitlab

如没安装 git,需提前安装:

yum install -y git

下载最新的汉化包:

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

如果是要下载老版本的汉化包,需要加上老版本的分支,如果想下载 10.0.2,可以运行如下语句:

git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh

停止 GitLab 并执行如下语句:

gitlab-ctl stop
cp  /home/local/gitlab/gitlab/*  /opt/gitlab/embedded/service/gitlab-rails/  -rf

复制时可能不断提示是否要覆盖,这时可能是系统每次执行 cp 命令时,其实是执行了 cp -i 命令的别名。出现这种情况可以修改~/.bashrc,在“alias cp=’cp-i’”前加#注释即可。

复制可能出现如下提示,可以不用理会。


注释后记得执行:

source ~/.bashrc

或者重启即可。

接下来可以重新配置和启动:

gitlab-ctl reconfigure
gitlab-ctl restart

成功汉化后的界面如下:

Centos7.4 安装部署 Gitlab 服务器


四.GitLab 的邮箱配置
1.设置 gitlab 发信功能,需要注意一点:

发信系统用的默认的 postfix,smtp 是默认开启的,两个都启用了,两个都不会工作。
我这里设置关闭 smtp,开启 postfix
关闭 smtp 方法:vim /etc/gitlab/gitlab.rb
修改成以下配置

 gitlab_rails['smtp_enable'] = true
 gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
 gitlab_rails['smtp_port'] = 25
 gitlab_rails['smtp_user_name'] = "gitlab@xxx.com"
 gitlab_rails['smtp_password'] = "xxxxxx"
 gitlab_rails['smtp_domain'] = "xxx.com"
 gitlab_rails['smtp_authentication'] = "login"
 gitlab_rails['smtp_enable_starttls_auto'] = true
 gitlab_rails['smtp_tls'] = false
 gitlab_rails['smtp_enable_starttls_auto'] = true
 gitlab_rails['gitlab_email_from'] = "gitlab@xxx.com"
修改后执行 gitlab-ctl reconfigure
设置开启 smtp,相关教程请参考官网 https://doc.gitlab.cc/omnibus/settings/smtp.html
测试是否可以邮件通知:
登录并添加一个用户,效果如下

Centos7.4 安装部署 Gitlab 服务器

(如果收不到,请查看垃圾邮箱或者检查邮件是否被拦截并删除,如果有请添加到白名单并删除用户再重新添加用户就可以收到了,否则请检查邮件日志并做好相关设置)

五.GitLab 的命令

语法:

gitlab-ctl command (subcommand)

Service Management Commands

start

启动所有服务

stop

关闭所有服务

restart

重启所有服务

status

查看所有服务状态

tail

查看日志信息

service-list

列举所有启动服务

graceful-kill

平稳停止一个服务

例子:

 #启动所有服务
[root@gitlab ~]# gitlab-ctl start

#启动单独一个服务
[root@gitlab ~]# gitlab-ctl start nginx

#查看日志,查看所有日志
[root@gitlab ~]# gitlab-ctl tail#查看具体一个日志,类似 tail -f
[root@gitlab ~]# gitlab-ctl tail nginx

General Commands

help

帮助

reconfigure

修改配置文件之后,需要重新加载下

show-config

查看所有服务配置文件信息

uninstall

卸载这个软件

cleanse

删除 gitlab 数据,重新白手起家

例子:

 #显示所有服务配置文件
[root@gitlab ~]#gitlab-ctl show-config

#卸载 gitlab
[root@gitlab ~]#gitlab-ctl uninstall

 

报错处理:
一.登录 502 报错
一般是权限问题,解决方法:chmod -R 755 /var/log/gitlab
如果还不行,请检查你的内存,安装使用 GitLab 需要至少 4GB 可用内存(RAM + Swap)! 由于操作系统和其他正在运行的应用也会使用内存, 所以安装 GitLab 前一定要注意当前服务器至少有 4GB 的可用内存. 少于 4GB 内存会出现各种诡异的问题, 而且在使用过程中也经常会出现 500 错误.

 

二.gitlab-ctl reconfigure
报错 n itdb: could not obtain information about current user: Permission denied
Error executing action `run` on resource 'execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8]'
根据报错信息大概锁定用户的权限问题,安装 gitlab-ce 会自动添加用户四个用户:
gitlab-www:x:497:498::/var/opt/gitlab/nginx:/bin/false
git:x:496:497::/var/opt/gitlab:/bin/sh
gitlab-redis:x:495:496::/var/opt/gitlab/redis:/bin/nologin
gitlab-psql:x:494:495::/var/opt/gitlab/postgresql:/bin/sh
google 和百度都搜索不到解决方法,既然出错提示到权限问题,那么按照这个方向去查就不会有问题,后来查了文件/etc/passwd 的权限是 600,给予 644 权限后,成功解决报错问题
 

参考 gitlab 中文官网 https://www.gitlab.cc/downloads/#centos7


IT 敢客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Centos7.4 安装部署 Gitlab 服务器
喜欢 (155)
[313176056@qq.com]
分享 (0)
IT敢客
关于作者:
“我所做的一切都是为了方便我的生活~~~“
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 咕咕
    Amber2018-04-12 21:12 回复 未知操作系统 | 未知浏览器