一、GitLab简介
我们都知道使用Git来管理代码非常方便,Git客户端有SourceTree、TortoiseGit等UI友好的界面工具,但是在Git服务器端如果仍然使用命令行来管理代码仓库,总是略有不便,GitLab正好帮我们解决了这个烦恼,它有以下优点:
1、GitLab是一个利用 Ruby on Rails 开发的开源应用程序,拥有与GitHub类似的功能,能够浏览源代码,管理缺陷、注释和团队对仓库的访问,实现了一个自托管的Git项目仓库;
2、GitLab提供了Web界面来访问公开或私人的项目,无论是想建立外部公用还是内部私用的Git项目仓库,都能满足需求;
3、GitLab给每个用户分配一个账号,可以让用户自己通过UI友好的界面来实现仓库、权限和用户公钥的管理,简化使用,提高效率;
二、安装GitLab
环境:CentOS 7.4
1 更新yum
yum update
2 安装依赖
需要三个依赖:ssh,postfix(用于邮件通知),防火墙。
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
注:如果postfix启动失败,使用systemctl status postfix查看错误原因,如果是找不到interface,则需修改postfix配置,如下:
vi /etc/postfix/main.cf
把以下2个选项打开,并配置如下:
inet_interfaces = all
inet_protocols = all
####3 添加GitLab包服务器并安装
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
三、配置GitLab
GitLab相关参数配置都在 /etc/gitlab/gitlab.rb 文件里,每次配置完成之后需要执行gitlab-ctl reconfigure,重新配置才能生效。
编辑gitlab.rb文件
vi /etc/gitlab/gitlab.rb
执行修改的配置
sudo gitlab-ctl reconfigure
1 配置URL
修改 external_url 'http://ip_address'为真实的服务器IP和端口。例如:
external_url 'http://127.0.0.1:8080'
2 SMTP邮箱配置
如果不配置,则GitLab无法自动发送邀请和通知邮件。
以163 邮箱的配置为例
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "test@163.com" //需要自行修改
gitlab_rails['smtp_password'] = "password" //需要自行修改
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "test@163.com" // 必须与上面的邮箱一样
注意事项
邮箱需要开启 SMTP 协议
四、客户端访问测试
在本地电脑上,打开浏览器。输入刚才配置的URL,例如:http://127.0.0.1:8080,如果是第一次登录GitLab,还需要设置root的用户名和密码。设置好后,重新登陆root,就可以享受GitLab带来的便利了。