很多公司管理项目代码可能用svn,若是用过git后估计就不想回去用svn了,关于它们谁更好用,在这我们就不讨论了,我们来看一下如何在自己的服务器搭建一台gitlab服,来管理相关代码。
本文主要记录在Ubuntu 16.04操作系统中搭建GitLab服务器的操作记录,以下是操作步骤(主要参考资料:https://about.gitlab.com/downloads/#ubuntu1604)。
首先我们登录到服务器上。安装相关依赖环境
1.安装依赖包,运行命令
sudo apt-get install curl openssh-server ca-certificates postfix
执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)
2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装。
首先信任 GitLab 的 GPG 公钥:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
利用root用户[1](不是sudo,而是root),vi打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入下面一行:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
3.安装 gitlab-ce:
sudo apt-get update
sudo apt-get install gitlab-ce
4.配置GitLab IP地址,首先运行
sudo -e /etc/gitlab/gitlab.rb
在文本中修改”externval_url”之后的域名,可以是本机IP或指向本机IP的域名(注意要带有“https://”),这一行在全部文本中位于很靠上面的位置,如下图所示。
这个地方的地址换成你自己的地址,记住是https不是http(我就踩过这个坑)
让配置生效
sudo gitlab-ctl reconfigure
5.打开 sshd 和 postfix 服务
service sshd start
service postfix start
6.了使 GitLab 社区版的 Web 界面可以通过网络进行访问,我们需要允许 80 端口通过防火墙,(我设置的是9099端口)这个端口是 GitLab 社区版的默认端口。为此需要运行下面的命令。
sudo iptables -A INPUT -p tcp -m tcp –dport 9099 -j ACCEPT
但是。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
一般我们的80端口都被其他项目给占用的时候,这时候我们就需要去修改gitlab自带的nginx服务器的端口,改为一个可用的端口
修改Nginx端口
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
7.检查GitLab是否安装好并且已经正确运行,输入下面的命令
sudo gitlab-ctl status
如果得到类似下面的结果,则说明GitLab运行正常
run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s
7.在浏览器地址栏中输入:http://127.0.0.1:9099,即可访问GitLab的Web页面
到此,gitlab服务器搭建完毕。