Ubuntu + Centos7 安装 GitLab(包含Docker安装方式)

硬件配置
硬件配置可参见gitlab官方的硬件配置手册,以下是简单翻译:
硬盘
gitlab的需要的硬盘的容量是根据仓库的数量来决定的。一般来说如果一台服务
器只跑gitlab的话,40G的硬盘是足够的。
CPU
1核的CPU能够支撑100个用户,但是gitlab应用会比较慢,因为所有的后台进程
都是用跑在一个核上
推荐配置是2核CPU,能够支撑500个用户
4核能支撑2,000个用户
8核能支撑5,000个用户
16核能支撑10,000个用户
32核能支撑20,000个用户
64核能支撑40,000个用户
内存
gitlab需要至少4GB的内存(RAM swap),因为操作系统和其他应用进程都会使
用内存。如果服务器的内存低于4G,配置gitlab的时候将会出错,使用gitlab的
时候将有更多错误。
1GB RAM 3GB swap 是最低的配置,但是强烈建议不要用这种配置
2GB RAM 2GB swap 能够支撑100个用户,但是gitlab运行会非常慢
4GB RAM是推荐的配置,能够支撑100个用户
8GB RAM能支撑1,000个用户
16GB RAM能支撑2,000个用户
32GB RAM能支撑4,000个用户
64GB RAM能支撑8,000个用户
128GB RAM能支撑16,000个用户
256GB RAM能支撑32,000个用户
除了以上的配置,gitlab官方还建议在服务器上至少能有2GB的swap,即使已经
有了足够大的RAM。
操作系统
gitlab官方推荐的操作系统是Ubuntu 16.04LTS版本,
安装
安装相关依赖包
$ sudo apt-get install curl openssh-server ca-certificates postfix -y
在安装postfix的时候,如果弹出图形界面,请选择internet Site
添加GitLab包存储库。
11.5.0版本
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh
| sudo bash
11.3.0版本
#curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.deb.sh | bash
接下来,安装GitLab包。将`http:// gitlab.example.com`更改为您要访问GitLab实
例的URL。安装将自动配置并启动该URL的GitLab。HTTPS 在安装后需要其他配
置。
#sudo EXTERNAL_URL =“http://gitlab.example.com”
11.5.0版本安装,需要添加对应版本的存储库
#apt-get install gitlab-ee
11.3.0版本安装,需要添加对应版本的存储库
#apt-get install gitlab-ce
或者修改配置文件gitlab.rb中的URL地址
#vim /etc/gitlab/gitlab.rb
配置
域名和端口号
打开gitlab的默认配置文件
$ sudo vim /etc/gitlab/gitlab.rb
将external_url的值设置为以下文本(这里填入自己的域名):
external_url \'https://git.nutsvpn.mobi\
路径
配置gitlab资料备份的路径(在/etc/gitlab/gitlab.rb配置文件当中找到
gitlab_rails[‘backup_path’]配置项,修改为以下文本)
gitlab_rails[\'backup_path\'] = "/opt/gitlab/gitlab_backup"
配置gitlab仓库存储的路径(在/etc/gitlab/gitlab.rb配置文件当中找到
git_data_dirs配置项,修改为以下文本)
git_data_dirs({"default" => "/opt/gitlab/git_data"})
HTTPS
首先确认自己使用的域名有没有https证书,如果没有的话,可以去startssl免费
申请一个https证书.
申请完证书之后,建立ssl目录
$ sudo mkdir /etc/gitlab/ssl
$ sudo chmod 700 /etc/gitlab/ssl
拷贝https证书到ssl目录
$ sudo cp git.test.com.cer git.test.com.key /etc/gitlab/ssl/
打开gitlab的默认配置文件
$ sudo vim /etc/gitlab/gitlab.rb
将nginx的配置设置为以下文本
nginx[\'redirect_http_to_https\'] = true
nginx[\'ssl_certificate\'] = "/etc/gitlab/ssl/git.test.comi.cer"
nginx[\'ssl_certificate_key\'] = "/etc/gitlab/ssl/git.test.com.key"
检查Gitlab 中nginx
$ /opt/gitlab/embedded/sbin/nginx -t
重新加载nginx
$ /opt/gitlab/embedded/sbin/nginx -s reload
打开ubuntu的ufw
$ sudo ufw allow https
这里需要使用以下命令来让配置先生效,如果安装的是以上两个版本之一,执行
下面命令后应该可以直接使用WebURL:https://”域名“ 方式来访问GitLab页面
了。
$ sudo gitlab-ctl reconfigure
重启服务
配置https完成之后,使用gitlab-ctl restart来重启所有服务
$ sudo gitlab-ctl restart
 
Centos7 安装 GitLab
安装并配置必要的依赖项
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
接下来,安装Postfix以发送通知电子邮件。如果要使用其他解决方案发送电子
邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
添加GitLab包存储库。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh |
sudo bash
接下来,安装GitLab包。将`http:// gitlab.example.com`更改为您要访问GitLab实
例的URL。安装将自定义配置并启动该URL的GitLab。
#sudo EXTERNAL_URL="http://gitlab.example.com"
#yum install -y gitlab-ee
#yum install -y gitlab-ce
重新配置GitLab 让更改生效
gitlab-ctl reconfigure
重新启动服务
gitlab-ctl restart
 
采用Docker 安装
1.安装dokcer
# yum install epel-release -y
# yum install yum-utils -y
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum install docker-ce -y
# mkdir /etc/docker
配置镜像加速
# cat /etc/docker/daemon.json
{
"graph":"/data/docker",
"storage-driver":"overlay2",
"insecure-registries":["registry.access.redhat.com","quay.io"],
"registry-mirrors":["https://q2gr04ke.mirror.aliyuncs.com"],
"bip":"172.7.5.1/24",
"exec-opts":["native.cgroupdriver=systemd"],
"live-restore":true
}
 
添加开机启动
# systemctl enable docker.service
# systemctl start docker.service
 
安装Gtilab
# docker pull registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
# docker run -d \
--hostname gitlab.test.com \
-p 8443:443 -p 8080:80 -p 2222:22 \
--name gitlab \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
运行成功后出现一串字符串
 
因为是虚拟机安装,需要修改本地host文件,使域名可以正常解析
# cat /etc/hos
127.0.0.1 gitlab.test.com
 
 
3.配置
 
 
# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
 
 
# 配置ssh协议所使用的访问地址和端口
 
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
修改gitlab.rb文件
# 重启gitlab容器
$ docker restart gitlab
此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)
 
 
Gitlab配置域名并https访问
Gitlab 版本12.4.2为例如下:
查看版本信息
# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.4.2
 
1.创建存放证书目录
# mkdir /etc/gitlab/ssl #把申请的域名证书放在这里
 
2.修改配置文件
# vim /etc/gitlab/gitlab.rb #打开配置文件
external_url 'external_url 'https://gitlab.inewmaker.com' # 注:一定要HTTPS
nginx['redirect_http_to_https']= true #取消注释改为 true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.pem" #放置对应的证书密钥
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key" #放置对应的证书密钥
gitlab-ctl reconfigure #重读加载配置文件
 
如:
[root@gitlab opt]# egrep -v "^#|^$" /etc/gitlab/gitlab.rb
external_url 'https://gitlab.squrab.com'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.squrab.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.squrab.com.key"
 
3.重启
# gitlab-ctl restart #使配置生效
posted @ 2020-12-14 16:27  溪水西流~军  阅读(192)  评论(0)    收藏  举报