GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
与GitHub的主要区别是:GitHub提供公共仓库和私有仓库,但如果需要使用私有仓库,是需要收费的。而Gitlab可以免费让用户设置仓库的权限,从而可以让指定的人看到指定的内容,保证了仓库的私有性。
官网安装地址:https://about.gitlab.com/install
各个系统的安装方法在官网上都有详细的介绍,如果需要其他系统的安装方法,可以进入官网查看,以下是CenOS7的安装实例
gitlab有两个版本:gitlab-ce和gitlab-ee,分别是社区版和企业版,企业版是收费的,社区版是开源的,通常我们安装社区版就可以了
注意:官网上的示例是企业版(gitlab-ee)的,我们需要安装社区版,只需要把示例中的gitlab-ee改成gitlab-ce即可
开始安装
1、安装和配置必要的依赖
下面这些命令是在防火墙中开放HTTP和SSH的访问
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install -y gitlab-ce
有时候我们下载可能会非常慢或者下载失败,我们可以修改镜像地址,方法如下
vim /etc/yum.repos.d/gitlab-ce.repo
#添加以下内容
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
#执行下面命令进行安装
yum makecache # 更新本地YUM缓存
yum install gitlab-ce # 自动安装最新版本
#修改该文件下的external_url,即可更改
vim /etc/gitlab/gitlab.rb
#修改配置之后,需要更新gitlab的配置,重启
gitlab-ctl reconfigure
gitlab-ctl restart
一些常用的gitlab命令
更新配置,并启动gitlab服务
sudo gitlab-ctl reconfigure
启动 gitlab
sudo gitlab-ctl start
重新GitLab
sudo gitlab-ctl restart
停止 gitlab
sudo gitlab-ctl stop
查看gitlab服务状态
sudo gitlab-ctl status
查看Gitlab日志
sudo gitlab-ctl tail
修改默认的配置文件
sudo vim /etc/gitlab/gitlab.rb
6、查看gitlab的状态
gitlab-ctl status
出现如下图显示的内容,则为启动成功
安装完gitlab之后,就可以直接在浏览器访问gitlab,输入服务器ip即可。
第一次访问,需要修改密码,修改密码之后就可以使用该密码进行登录,默认的用户名为root
登录进来后,可以新建项目、组、用户和配置gitlab。
首先,我们创建一个Group。依次输入Group的名称,URL,描述和作用域即可
然后,我们就可以在该Group下创建工程了
选择new projecct
填写基本信息后create project
创建工程后,会提示我们没有ssh key,需要配置ssh key
进入到服务器内使用ssh-keygen生成密钥,在生成过程中,会让我们输入密码,我们可以输入,也可以直接回车
将该公钥复制到页面的key,新增ssh key,然后重新登录
重新登录后,我们就可以新增用户了。点击页面的小扳手,点击new user
新建用户后,我们可以将该用户添加到我们的Group中,使之可以访问我们的项目
我们可以通过授予该用户不同的角色,使之拥有对应的权限。权限可以在help中查看
最后,如果我们访问gitlab页面出现502 Whoops, GitLab is taking too much time to respond
常见的原因有两个:
1、内存不够,运行gitlab至少需要4个G的内存,所以需要添加内存
2、端口号被占用
解决:
修改端口
vim /etc/gitlab/gitlab.rb
将external_url添加一个未被使用的端口