搭建GitLab服务器
GitLab是一个利用Ruby on Rails
开发的开源应用程序,实现一个自托管的Git
项目仓库,可以通过Web界面访问公开或私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
本文记录通过GitLab
搭建Git
私服的过程,可为今后相关工作提供参考。
下载GitLab
安装前首先需查看GitLab的环境要求,推荐配置为:
操作系统:Ubuntu/Debian/CentOS/Red Hat Enterprise Linux/Scientific Linux/Oracle Linux,64bit Ruby:Ruby 2.1 存储:由项目本身决定,推荐SSD硬盘 CPU:双核(可支持500用户) 内存:2G(可支持100用户,考虑Redis和Sidekiq的可能开销,建议4G)
笔者安装环境为:CentOS 6.4(64bit)/4G/双核/200G。下文中,笔者根据自己的安装环境,介绍安装和配置过程。对于其他环境,可进入GitLab官方教程,选择对应的操作系统,按照教程提示安装和配置GitLab。
NOTE:
公司新建的虚拟机可能未配置DNS,无法使用yum安装,可参考以下方法配置:
vim /etc/resolv.conf
添加以下配置
nameserver 192.168.51.51 nameserver 8.8.8.8
安装和配置依赖包
sudo yum install curl openssh-server postfix cronie sudo service postfix start sudo chkconfig postfix on sudo lokkit -s http -s ssh
安装GitLab包
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce
NOTE:
配置和启动GitLab
sudo gitlab-ctl reconfigure
NOTE:
启动过程中,出现下面的错误;这问题通过执行命令
modprobe bridge
解决。STDERR: error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an unknown key
访问GitLab
直接在浏览器访问服务器域名或IP地址即可访问GitLab,默认登陆账号为:
root\5iveL!fe
(登陆后系统提示修改默认密码)。配置邮箱服务器
GitLab提供邮件通知服务,因此需要配置邮箱服务器。接下来以Outlook邮箱为例,介绍配置方法。
GitLab邮箱服务器可以在
/etc/gitlab/gitlab.rb
中配置,打开该文件,添加以下配置(使用前替换external_url
和邮箱账号/密码):external_url 'http://your domain or ip address' # 服务器域名或IP地址,邮件中的链接使用 gitlab_rails['gitlab_email_from'] = '***@outlook.com' gitlab_rails['gitlab_email_display_name'] = 'GitLab@Eccom' # 邮件显示名称 gitlab_rails['gitlab_email_reply_to'] = '***@outlook.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp-mail.outlook.com" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "***@outlook.com" gitlab_rails['smtp_password'] = "********" gitlab_rails['smtp_domain'] = "outlook.com" gitlab_rails['smtp_authentication'] = :login gitlab_rails['smtp_enable_starttls_auto'] = true
配置修改后,重复步骤4的命令
sudo gitlab-ctl reconfigure
更新配置即可。经实际测试:
- 163邮箱: 可用,替换上述配置中smtp地址为
smtp.163.com
,smtp域名为163.com
,并将账号替换成实际的账号 - gmail邮箱:由于无法联通gmail服务器
smtp.gmail.com
,因此无法测试 - 公司邮箱:使用上述配置,无法使用公司邮箱
- 163邮箱: 可用,替换上述配置中smtp地址为