我们都知道GitHub 作为开源代码库,是目前最火的开源项目托管平台,GitHub 同时提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。而GitLab很好的解决这个问题,你可以在上面创建私人的免费仓库。
下面我们介绍在linux系统下Gitlab的安装。
方式一:rpm包方式安装
1.安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix
2.启动ssh服务并设置为开机启动
systemctl enable sshd && sudo systemctl start sshd
3.设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix
4.开放ssh以及http服务,然后重新加载防火墙列表,如果防火墙已经关闭了,可以忽略此步骤
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
5.下载gitlab包并安装
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
6.修改gitlab配置
vi /etc/gitlab/gitlab.rb
修改gitlab访问地址和端口,默认为80,我们改为81
external_url 'http://192.168.66.100:81'
nginx['listen_port'] = 81
7.重新配置及启动gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
8.把端口添加到防火墙,防火墙关闭可以忽略。
firewall-cmd --zone=public --add-port=81/tcp --permanent
firewall-cmd --reload
启动成功后,看到以下修改管理员root密码的页面,修改密码后,然后登录即可
9.关闭gitlab
gitlab-ctl stop
方式二:docker镜像方式安装
1.拉取gitlab镜像
docker pull gitlab/gitlab-ce
2.启动gitlab容器,配置对外的端口映射和挂载目录,其中 80为http端口、22为ssh端口、 443为https端口
sudo docker run -d \
--name gitlab \
--restart always \
-p 1022:22 -p 81:80 -p 1443:443 \
-v /usr/local/gitlab/data:/var/opt/gitlab \
-v /usr/local/gitlab/logs:/var/log/gitlab \
-v /usr/local/gitlab/config:/etc/gitlab \
gitlab/gitlab-ce
3.配置gitlab,修改gitlab.rb文件,因为我们配置的挂载目录为/usr/local/gitlab/config,所以会将容器中的配置文件,挂载到我们配置的目录下
vi gitlab.rb
主要修改external_url、nginx['listen_port']、gitlab_rails['gitlab_shell_ssh_port']
external_url 'http://192.168.142.128:81'
nginx['listen_port'] = 81
gitlab_rails['gitlab_shell_ssh_port'] = 1022
3.重新启动gitlab容器
docker restart gitlab
可以使用docker logs 命令查看gitlab启动的日志
docker logs -f --tail 100 gitlab
4.访问http://192.168.142.128:81/登录gitlab
到此就完成了gitlab的安装。