目录
前言:由于公司之前一直使用的svn进行的代码管理。然后这次公司服务器惨遭黑客攻击。svn无法使用。之前使用过gitlab分布式代码管理,觉得甚是好用,趁着这个机会,搭建一个社区版的gitlab-ce代码仓库。适合中小型企业。普通的代码管理完全可用。大型企业也可以选择收费的企业版gitlab-ee。两者区别官方文档有详细说明,点击传送门。话不多说,干就完了。
安装步骤如下:
一、准备工作
(以下两个准备工作如果熟悉firewall配置和SELinux的用户也可以不做)
1.关闭centos7自带的firewalld防火墙,保证本地pc可以访问所有centos7下的端口资源
输入以下命令,关闭防火墙并禁用开机启动。
systemctl stop firewalld
systemctl disable firewalld
2.关闭SELinux(强制访问控制安全策略)并重启系统,使该策略不会影响gitlab正常运行
输入一下命令编辑
vi /etc/sysconfig/selinux
将SELINUX改为disable
然后roboot重启系统。综上,安装gitlab的准备工作已完成。
二、正式安装过程
安装Omnibus Gitlab-ce package(Omnibus综合性的意思,包含gitlab基础工具包,一键安装,自动化配置,简化初学者的安装成本,相对于源代码安装节省了很多时间以及不必要的麻烦。)
1.安装gitlab组件
yum -y install curl policycoreutils openssh-server openssh-clients postfix
2.配置yum仓库
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3.启动postfix邮件服务(用于gitlab发送通知到管理者)
systemctl start postfix && systemctl enable postfix
以上命令是启动并设置开机自启
4.安装gitlab-ce社区版本
yum install -y gitlab-ce
安装成功截图:
三、配置gitlab完成初始化工作
1.修改配置
vi /etc/gitlab/gitlab.rb
将external_url 'http://gitlab.example.com'地址修改成服务器的ip
2.加载配置并重启gitlab
首次启动也需要以下命令加载配置,完成初始化
sudo gitlab-ctl reconfigure
重启gitlab
sudo gitlab-ctl restart
四、浏览器访问
1.浏览器输入刚刚配置的ip即可进入gitlab
2.初次进入需要创建管理员账号和密码,接下来就不用我说了哈。
五、需要注意的地方:重点,圈起来要考
1.如果你输入ip没有响应的话,就是firewall防火墙的http服务端口未打开。如果你配置了https的话还需要打开443端口,打开指令如下:
打开http服务
sudo firewall-cmd --permanent --add-service=http
重新加载:
sudo firewall-cmd --reload
如果嫌弃麻烦不知道要开放哪些端口,也可以直接关闭firewall并禁用开机自启:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
2.附上常用gitlab服务指令
gitlab-ctl reconfigure # 重新编译配置
gitlab-ctl start # 启动
gitlab-ctl stop # 停止
gitlab-ctl restart # 重启
gitlab-ctl status # 查看状态
vim /etc/gitlab/gitlab.rb # 修改配置
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab
gitlab-ctl tail # 查看日志
gitlab-ctl tail nginx/gitlab_access.log
3.如果需要更改默认的80端口号
有时候服务器已有nginx,所以gitlab的自带的nginx端口号冲突,需要修改端口号,编辑配置文件,添加如下配置:
# 禁用内置NG
nginx['enable'] = false
# 指定NG的用户名
web_server['external_users'] = ['nginx']
# 添加NG地址到信任列表,我这里就是本机地址
gitlab_rails['trusted_proxies'] = ['127.0.0.1']
# 配置监听网络:tcp
gitlab_workhorse['listen_network'] = "tcp"
# 配置地址和端口
gitlab_workhorse['listen_addr'] = "192.168.11.20:8888"
加载配置,再重新启动,重复上面步骤三