Myluzh Blog

Docker部署GitLab-CE

发布时间: 2023-11-8 文章作者: myluzh 分类名称: Docker 朗读文章


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'
}



标签: docker gitlib git

发表评论