{{format('0')}} {{format('498')}} {{format('4059')}}

Centos8部署GitLab [ 技术杂谈 ]

九叶的小窝 文章 正文

As Long As You Love Me.
分享

九叶

{{nature("2021-06-07 16:00:23")}}更新

1. 准备

由于公司特殊需求 需要一个内部的git仓库保证项目的私有性 只有公司内部员工才可以访问 更加安全。

2. 部署

2.1. 安装依赖

安装一些依赖软件包,SSH一般系统是默认安装好的,不过也不排除一些最小安装的系统没有sshd服务。

sudo yum install policycoreutils-python*
sudo yum install openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

2.2. 关闭防火墙(firewalls)

如果是Firewalls需要用别的方法 此处只展示iptables关闭方法

//刷新防火墙的规则
iptables -F

2.3. 安装邮件服务(可选)

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

2.4. 获取安装脚本

从官网获取一件安装脚本,当然自己手动安装也是可以的gitlab下载地址,使用官网脚本会简单一些。执行这一步会如果使用CentOS系统,会添加gitlab的yum源

//输出到文件里是为了看下下载的脚本内容
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh > rpm.sh
chmod +x rpm.sh
./rpm.sh

2.5. 安装GitLab

//使用yum安装gitlab
yum install -y gitlab-ee
//可以看下gitlab-ee包的内容,看到gitlab安装在/opt/gitlab目录下
rpm -ql gitlab-ee | less

install.png

2.6. 配置

上面已经安装好了gitlab 不过可以稍作一些配置 配置gitlab监听的地址与端口

gitlab的配置文件在/etc/gitlab/目录下,主要配置文件为gitlab.rb

external_url 'http://gitlab.qwq.ro'
nginx['listen_addresses'] = ['0.0.0.0', '[::]']
nginx['listen_port'] = 28080

里面的配置项非常的多,可以对照官网文档根据需要修改。

GitLab配置选项

2.7. 测试

# 停止服务
gitlab-ctl stop
# 重载配置
gitlab-ctl reconfigure
# 启动服务
gitlab-ctl start

image.png

已经是可以成功访问到啦

3. 进阶配置

3.1. 配置GitLab仓库存储位置

GitLab仓库默认位子:/var/opt/gitlab/git-data

# 创建/opt/gitlab/gitlab-data目录,作为仓库存储目录
mkdir /opt/gitlab/gitlab-data
# 迁移数据目录
mv /var/opt/gitlab/git-data /opt/gitlab/git-data

# 修改gitlab配置文件,找到git_data_dir
vim /etc/gitlab/gitlab.rb

# 新增内容
git_data_dirs({                                                                
  "default" => {                                                               
    "path" => "/opt/gitlab/gitlab-data"                                  
  }                                                                            
})

3.2. 修改 unicorn 端口

# 修改/etc/gitlab/gitlab.rb配置文件
 unicorn['listen'] = 'localhost'
 unicorn['port'] = 28081

3.3. 修改 prometheus 端口

# 修改/etc/gitlab/gitlab.rb配置文件
prometheus['listen_address'] = 'localhost:28082'

3.4. 优化GitLab性能

3.4.1.修改gitlab配置文件/etc/gitlab/gitlab.rb
# 超时时间
unicorn['worker_timeout'] = 60  

# 不能低于2,否则卡死 worker=CPU核数+1                                                                 
unicorn['worker_processes'] = 4
3.4.2. GitLab默认使用了PostgreSQL,优化PostgreSQL
# 数据库缓存大小 默认256,可适当改小  
postgresql['shared_buffers'] = "1024M"

# 数据库并发数
postgresql['max_worker_processes'] = 8

# sidekiq并发数
sidekiq['max_concurrency'] = 50
sidekiq['min_concurrency'] = 10
3.4.3. 减少 unicorn 内存使用
# 减少内存 
unicorn['worker_memory_limit_min'] = "256 * 1 << 20"
unicorn['worker_memory_limit_max'] = "1024 * 1 << 20"
3.4.4. 配置邮箱服务SMTP服务器
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

# If your SMTP server does not like the default 'From: gitlab@localhost' you
# can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
3.4.5 GitLab汉化

image.png

评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Minecraft | [1.12.2] 核电工艺模拟器 1.2.25 —— 汉化版

{{nature('2021-12-07 15:29:00')}} {{format('2426')}}人已阅读

TOP 3
SSM搭建Spring单元测试环境

{{nature('2021-01-31 20:01:00')}} {{format('1041')}}人已阅读

TOP 4
dispatcher-servlet.xml文件配置模板

{{nature('2020-12-11 21:17:00')}} {{format('957')}}人已阅读

TOP 5
Windows平台Nacos启动报错无法创建Bean实例

{{nature('2021-04-22 15:16:00')}} {{format('936')}}人已阅读

目录

标签云

CentOS GitLab

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏