GitLab安装配置完整过程(超详细)

一、安装

1.配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

复制以下内容:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

2.更新本地yum缓存

yum makecache

3.安装GitLab社区版

yum install gitlab-ce #自动安装最新版本

4.更改默认端口配置(默认为80端口)

sudo vim /etc/gitlab/gitlab.rb

修改如下:

external_url 'http://ip:26100'
nginx['listen_https'] = false
nginx['listen_port'] = 26100
nignx['listen_address'] = ['*']
sudo vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

修改如下:

server {
listen *:26100;
server_name ip
if ($http_host = ""){
set $http_host_with_default "ip:26100";
}
}

5.开放端口

sudo firewall-cmd --add-port=26100/tcp --permanent

6.重新加载防火墙

sudo firewall-cmd --reload

7.修改配置后重新加载配置文件

sudo gitlab-ctl reconfigure

8.重启gitlab

sudo gitlab-ctl restart

注:如无需修改端口,可省略步骤4-7。

二、邮件配置

1.修改配置文件

sudo vim /etc/gitlab/gitlab.rb

新增以下内容:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.midea.com"
gitlab_rails['smtp_port'] = 994
gitlab_rails['smtp_user_name'] = "发信邮箱"
gitlab_rails['smtp_password'] = "发信邮箱密码"
gitlab_rails['smtp_domain'] = "xxx.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
user['git_user_email'] = "发信邮箱"
gitlab_rails['gitlab_email_from'] = '发信邮箱'

2.修改配置后重新加载配置文件

sudo gitlab-ctl reconfigure

3.测试邮件配置是否生效

[azureuser@devops ~]$ sudo gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
GitLab: 13.7.1 (c97c8073a0e) FOSS
GitLab Shell: 13.14.0
PostgreSQL: 12.4
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.3)
irb(main):001:0> Notify.test_email('xxxx@midea.com','test','test').deliver_now
Notify#test_email: processed outbound mail in 1.4ms
Delivered mail 5ff2cb5082e2b_e45eb53d484754@devops.mail (673.8ms)
Date: Mon, 04 Jan 2021 08:01:20 +0000
From: GitLab <xxx@midea.com>
Reply-To: GitLab <noreply@ip>
To: xxxx@midea.com
Message-ID: <5ff2cb5082e2b_e45eb53d484754@devops.mail>
Subject: test
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>test</p></body></html>
=> #<Mail::Message:199260, Multipart: false, Headers: <Date: Mon, 04 Jan 2021 08:01:20 +0000>, <From: GitLab <xxx@midea.com>>, <Reply-To: GitLab <noreply@ip>>, <To: xxxx@midea.com>, <Message-ID: <5ff2cb5082e2b_e45eb53d484754@devops.mail>>, <Subject: test>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
出现以上信息说明配置成功。

三、修改超级管理员root的密码

1.进入gitlab-rails控制台

sudo gitlab-rails console

2.查找切换账号

u=User.where(id:1).first

3.修改密码

u.password='更改后的密码'

4.再次确认密码

u.password_confirmation='更改后的密码'

5.保存

u.save!

至此,可使用新密码gitlab首页进行登陆。
注:保存命令后的"!"一定要加!

四、性能调优

sudo vim /etc/gitlab/gitlab.rb

新增以下内容并保存退出:

unicorn['worker_processes'] = 2                         #官方建议值为CPU核数+1(服务器只部署gitLab的情况下),可提高服务器响应速度,此参数最小值为2,设为1服务器可能卡死
unicorn['work_timeout'] = 60                            #设置超时时间
unicorn['worker_memory_limit_min'] = "200 * 1 << 20"    #减少最小内存
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"    #减少最大内存
postgresql['shared_buffers'] = "128MB"                  #减少数据库缓存
postgresql['max_worker_processes'] = 6                  #减少数据库并发数
sidekiq['concurrency'] = 15                             #减少sidekiq并发数
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

五、其他gitlab命令

gitlab-ctl help                  #查看gitlab帮助信息
gitlab-ctl show-config           #查看gitlab配置信息
gitlab-ctl status                #查看gitlab状态
gitlab-ctl reconfigure           #重新加载配置
gitlab-ctl tail                  #查看所有日志

六、数据迁移

前提:gitlab保持一致,已经在新服务器上安装好gitlab。

1. 旧服务器操作

1> 利用gitlab自带的命令gitlab-rake进行数据备份,备份位于/etc/gitlab/gitlab.rb中gitlab_rails[‘backup_path’]选项对应的目录,备份目录默认位于/var/opt/gitlab/backups

备份命令 gitlab-rake gitlab:backup:create

查看备份目录 cat /etc/gitlab/gitlab.rb|grep gitlab_rails|grep backup_path

2> 打包备份数据和配置文件

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups
cd /var/opt/gitlab/backups
tar zcvf gitlab_all_backup.tar.gz ./*

3> 将.tar.gz文件上传到新服务器上/tmp下

方法自选

2. 新服务器操作

1> 解压备份文件

cd /tmp
tar zxvf gitlab_all_backup.tar.gz

2> 将配置文件移到/etc/gitlab下

如果新服务器的gitlab由docker-compose生成,需要将备份的文件cp到gitlab映射的宿主主机的相应位置。

cd /tmp
反斜线是忽略系统的alias,不会有覆盖文件提醒,慎重使用
\mv gitlab.rb gitlab-secrets.json /etc/gitlab/
重载gitlab配置
gitlab-ctl reconfigure

3> 还原数据

将之前备份的数据文件移到/var/opt/gitlab/backups下,然后恢复数据

cd /tmp
注意前面一串数字为时间戳,将你备份的文件移进去
mv 1552743127_2019_03_16_10.5.1_gitlab_backup.tar /var/opt/gitlab/backups
恢复数据,注意BACKUP=后面只要 _gitlab_backup.tar 前面的版本号,如下
gitlab-rake gitlab:backup:restore BACKUP=1552743127_2019_03_16_10.5.1
重载gitlab配置
gitlab-ctl reconfigure

注:如果新服务器使用的是docker-compose方式安装,需要进入到gitlab容器中进行新服务器操作,需要使用以下命令进入容器内部:

docker exec -it gitlab bash
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值