Gitlab服务器部署

"记一次Gitlab服务器部署和踩的坑"

Posted by RH on February 2, 2020

2020年年初的肺炎影响比03的sars还厉害,希望快点过去。因为最最近全国封锁,没法去公司上班,只能在家线上办公,所以要搭一个Giltab方便大家传代码,忙活了俩小时才弄好,看了很多文章很少有说的全面的,中间有些坑,所以记录一下。

1

在CentOS上安装Gitlab需要一些依赖,ssh、防火墙、wget等等。已经安装过的可以直接跳到第二部直接安装gitlab

安装ssh

sudo yum install -y curl policycoreutils-pythonopenssh-server

将ssh设置为开机自启动

sudo systemctl enable sshd

启动ssh服务

sudo systemctl start sshd

安装防火墙

service firewalld start

添加http服务到firewall,pemmanent表示永久生效,若不加–pemmanent系统下次启动后就会失效

sudo firewalld-cmd —permanent —add-service=http

重启防火墙

sudo systemctl reload firewalld

wget是从网络上下载文件的工具,安装wget

yum install wget

安装vim编辑器

yum install vim -y

2

依赖上面已经安装完毕,下面开始安装gitlab。

1.首先下载rpm包,大家可以去这里自行选择安装包

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.3.4-ce.0.el7.x86_64.rpm

下载好安装包之后开始安装

rpm -ivh gitlab-ce-11.3.4-ce.0.el7.x86_64.rpm

2.安装好之后配置服务器IP和端口号,这里我们顺便把SMTP邮件通知功能一起配置了,因为都在同一个配置文件中。

vim  /etc/gitlab/gitlab.rb

将这里修改为服务器的IP加端口号,gitlab默认端口号为80。

3.然后配置SMTP邮件通知功能,在文件的最下方添加,这里是以腾讯企业邮为例,具体可参考Gitlab官方文档

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"

下面是我配置好的自己的

重置并启动Gitlab

gitlab-ctl reconfigure
gitlab-ctl restart

以后再修改配置文件的话只需要执行第一句即可。

之后直接访问配置好的ip加端口号即可登录Gitlab,初始账户为

用户名:root
密码:5iveL!fe

3

过程中遇到的问题

1.密码问题

我们修改配置文件时的password客户端专用密码,而不是你的邮箱的登陆密码,这点切记!

2.端口问题

要确保你配置的Gitlab的端口没有被占用,如果在服务器上部署的话还要确保这个端口是开放的,在安全组那里可以自行配置。

3.内存问题

安装gitlab的时候,已经说明需要有4G左右的内存

tips:

下面是网易企业邮箱的配置,顺手保存一下,网易企业邮箱的密码是邮箱的登陆密码,这点和腾讯企业邮箱是不一样的,要注意

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qiye.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_user_name'] = "xxxx@xxx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "xxx.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "xxxx@xxx.com"
user["git_user_email"] = "xxxx@xxx.com"