Docker部署GitLab-CE
作者:myluzh 分类: Docker 长度:2194 阅读:386
0x01 docker部署
docker run -d \
--name gitlab \
-p 9443:443 \
-p 9999:80 \
-p 9998:22 \
-v /etc/gitlab:/etc/gitlab \
-v /var/log/gitlab:/var/log/gitlab \
-v /var/opt/gitlab:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime \
--privileged=true \
gitlab/gitlab-ce:latest
访问地址:http://IP:9999
首次登陆页面的账号是root,密码则是临时密码,保存在/etc/gitlab/initial_root_password中,初始密码保存24小时,自动删除,首次登陆后需要修改密码操作。
0x02 配置ssh秘钥
SSH密钥用于在您的电脑和GitLab建立安全连接。 SSH 指纹验证客户端是否连接到正确的主机。
# 在本地计算机上生成了SSH密钥对,请将 "your_email@example.com" 替换为您在GitLab上注册的电子邮件地址。
# 在生成SSH密钥对时,系统会提示您选择密钥的保存位置和输入密码。您可以选择接受默认的保存位置(一般为 ~/.ssh/id_rsa)并选择是否设置密码保护密钥。如果您设置了密码,每次使用SSH密钥时都需要输入密码。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 生成SSH密钥对后,使用文本编辑器打开公钥文件(一般为 ~/.ssh/id_rsa.pub),将其中的内容复制到剪贴板。
# 获取公钥,然后把公钥添加到GitLab "用户设置"->"SSH密钥"->“添加新秘钥”
cat ~/.ssh/id_rsa.pub
现在,您应该可以使用SSH密钥在本地计算机上与GitLab建立安全连接并进行Git操作。您可以使用Git命令行工具或任何Git客户端应用程序,如Git Bash、Git GUI或SourceTree等。在执行Git操作时,Git会自动使用您配置的SSH密钥进行身份验证。
0x03 关于gitlab内存占用过高优化
# 备份配置文件
[root@VM-12-17-centos ~]# mv /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
# 优化配置文件如下,也可以自己访问官网查看 https://docs.gitlab.cn/omnibus/settings/memory_constrained_envs.html
[root@VM-12-17-centos ~]# vi /etc/gitlab/gitlab.rb
puma['worker_processes'] = 0
sidekiq['max_concurrency'] = 10
prometheus_monitoring['enable'] = false
gitlab_rails['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
}
gitaly['configuration'] = {
concurrency: [
{
'rpc' => "/gitaly.SmartHTTPService/PostReceivePack",
'max_per_repo' => 3,
}, {
'rpc' => "/gitaly.SSHService/SSHUploadPack",
'max_per_repo' => 3,
},
],
cgroups: {
repositories: {
count: 2,
},
mountpoint: '/sys/fs/cgroup',
hierarchy_root: 'gitaly',
memory_bytes: 500000,
cpu_shares: 512,
},
}
gitaly['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000',
'GITALY_COMMAND_SPAWN_MAX_PARALLEL' => '2'
}