Linux系统下搭建Gitlab服务器

GitLab有社区版(CE) 和企业版(EE),社区版是免费,对绝大部分公司来说功能是足够用了 ,在企业内部搭建,可以创建私有项目。

下面介绍在CentOS7上安装gitlab-ce社区版的步骤

1. 安装前准备

在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget(用于从外网上下载插件)

以上这些可以不用考虑安装,因为CentOS7中已经自带安装好了ssh,防火墙,wget

配置:建议CPU2核,内存4G以上,因为gitlab对系统要求比较高,启动后占用很大内存,否则访问会报502错误

2. 添加gitlab镜像源并安装gitlab服务器

先找个目录保存镜像, 比如 

cd /usr/local

镜像地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

添加gitlab镜像

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

镜像有点大,下载比较慢,根据网速快慢,需要等几分钟或者十几分钟

3. 安装gitlab

安装rpm包,安装命令:

rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

安装过程需要些时间,安心等待,如果出现下图,则说明安装成功。

Linux系统下搭建Gitlab服务器

4. 修改gitlab配置文件,指定服务器ip和自定义端口:

输入命令编辑配置文件:vim /etc/gitlab/gitlab.rb

#修改访问URL
#格式:external_url 'http://ip:端口'
external_url 'http://192.168.80.128:8081'
#配置时区(可以不用配置)
gitlab_rails['time_zone'] = 'Asia/Shanghai'

如果有域名, external_url可以配置成域名, 比如http://map.baidu.com

Linux系统下搭建Gitlab服务器

ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口

配置完以后还需要修改一处,去掉unicorn['port']=8080前面的注释#,并修改下端口号,注意和上面端口区分开。

Linux系统下搭建Gitlab服务器

由于gitlab.rb文件比较大, unicorn在文件的中间部分, 大概十几页左右. 所以需要用到vim的翻页命令:

下一页: ctrl+f    上一页: ctrl+b

如上, 默认端口是8080, 一般都会被占用, 所以修改为自己需要的端口;

进入编辑器后按“i”键进入编辑状态,ESC键退出编辑状态

退出并保存,命令输入“:wq”

5. 防火墙开放端口

# 开放上面配置的external_url中的 8081端口 
firewall-cmd --zone=public --add-port=8081/tcp --permanent

6. 重启防火墙

firewall-cmd --reload

7. 查看端口号是否开启

firewall-cmd --query-port=8081/tcp

8. 重置Gitlab(让修改后的配置生效)

gitlab-ctl reconfigure

第一次重置过程需要大概几分钟时间,安心等待

9. 重启Gitlab

gitlab-ctl restart

提示  "ok: run:"表示启动成功

Linux系统下搭建Gitlab服务器

GitLab服务端常用命令:

Linux系统下搭建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;
gitlab-ctl tail        # 查看日志;
Linux系统下搭建Gitlab服务器

10. 访问Gitlab页面

如果没有域名,直接输入服务器ip和指定端口进行访问

初始管理员账户: root 

注:首次访问时,会自动进入管理员密码设置页面,重新设置下密码,管理员默认账户为root

登录后可进行语言设置:

Settings -> Preferences -> Localization -> Language -> 简体中文

Linux系统下搭建Gitlab服务器

11. 502错误

如果确定上面配置步骤没问题,但是访问GitLab还报502错误,这是虚拟机内存不够导致的,首先保证Gitlab可用运行内存大于4G,端口未被占用,否则跑不起来

12. 添加用户

当管理员在Gitlab新建用户后,系统会自动发送邮件到用户邮箱,用户通过点击邮件链接可自己配置密码;

ps: 创建用户后,用户将收到邮件,邮件可能被拉黑,请到垃圾邮箱中查阅;

Gitlab权限管理

Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master(Maintainer)、Owner

Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

Gitlab中的组和项目有三种访问权限:Private、Internal、Public

Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
开源项目和组设置的是Internal

 

参考链接: https://www.cnblogs.com/li150dan/p/14340247.html

上一篇:VMware Workstation 历史版本下载


下一篇:Jenkins+harbor+gitlab+k8s 部署maven项目