Gitlab-ce最新版在CentOS7上的保姆级安装教程(含root密码设置)

张开发
2026/6/6 19:05:39 15 分钟阅读
Gitlab-ce最新版在CentOS7上的保姆级安装教程(含root密码设置)
CentOS7下GitLab-CE企业级部署实战指南在当今DevOps和敏捷开发盛行的时代代码托管平台已成为技术团队的基础设施核心。作为开源界最受欢迎的企业级Git解决方案GitLab-CE不仅提供代码仓库管理更集成了CI/CD、项目管理、安全扫描等全生命周期工具链。本文将手把手带您在CentOS7上完成GitLab-CE的完整部署涵盖从清华源加速安装到生产级配置的全过程。1. 环境准备与依赖检查在开始安装前我们需要确保系统环境满足GitLab-CE的运行要求。官方推荐的最低配置为4核CPU、4GB内存和至少4GB的交换空间对于小型团队项目。实际生产环境中建议根据用户规模适当提升配置# 检查系统版本 cat /etc/redhat-release # 检查内存和交换空间 free -h # 检查磁盘空间建议/var目录至少有10GB可用 df -h对于防火墙配置需要提前开放HTTP/HTTPS端口默认80/443以及SSH端口默认22。如果使用自定义端口需相应调整sudo firewall-cmd --permanent --add-servicehttp sudo firewall-cmd --permanent --add-servicehttps sudo firewall-cmd --permanent --add-port2222/tcp # 自定义SSH端口示例 sudo firewall-cmd --reload提示如果使用SELinux需要额外配置策略或将其设置为permissive模式sudo setenforce 0 sudo sed -i s/^SELINUX.*/SELINUXpermissive/g /etc/selinux/config2. 使用清华源加速安装GitLab-CE国内用户通过官方源安装往往速度缓慢使用国内镜像源可以显著提升下载速度。以下是配置清华源的完整步骤创建新的repo文件sudo tee /etc/yum.repos.d/gitlab-ce.repo -EOF [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabled1 EOF更新yum缓存并安装sudo yum clean all sudo yum makecache sudo yum install -y gitlab-ce安装完成后系统会显示GitLab的ASCII艺术标志表示基础安装成功。此时GitLab相关文件已部署在以下关键目录/opt/gitlab主程序目录/var/opt/gitlab应用数据目录/etc/gitlab配置文件目录3. 生产环境关键配置3.1 网络与域名配置编辑主配置文件前建议先备份原始配置sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak修改/etc/gitlab/gitlab.rb中的关键参数# 配置访问URL必须与最终访问地址完全一致 external_url http://gitlab.example.com # 如果使用自定义SSH端口 gitlab_rails[gitlab_shell_ssh_port] 2222 # 邮件服务器配置以腾讯企业邮箱为例 gitlab_rails[smtp_enable] true gitlab_rails[smtp_address] smtp.exmail.qq.com gitlab_rails[smtp_port] 465 gitlab_rails[smtp_user_name] gitexample.com gitlab_rails[smtp_password] yourpassword gitlab_rails[smtp_domain] exmail.qq.com gitlab_rails[smtp_authentication] login gitlab_rails[smtp_enable_starttls_auto] true gitlab_rails[smtp_tls] true3.2 初始化与性能调优执行重新配置命令此过程会生成所有必要的配置文件并启动服务sudo gitlab-ctl reconfigure对于内存有限的服务器可以调整Unicorn工作进程数量# /etc/gitlab/gitlab.rb unicorn[worker_processes] 2 # 默认为CPU核心数可适当减少4. 账户安全与权限管理4.1 Root密码初始化首次安装后需要通过Rails控制台重置root密码sudo gitlab-rails console -e production在控制台执行以下命令序列user User.find_by(username: root) user.password YourSecurePassword123! user.password_confirmation YourSecurePassword123! user.save! exit重要安全提示生产环境务必使用复杂密码12位以上包含大小写字母、数字和特殊字符并定期更换。4.2 双重认证强制启用为提升安全性建议在管理区域强制启用2FA登录后进入Admin Area → Settings → General展开Sign-in restrictions部分勾选Require all users to set up two-factor authentication5. 系统维护与故障排查5.1 常用管理命令命令功能描述sudo gitlab-ctl start启动所有服务sudo gitlab-ctl stop停止所有服务sudo gitlab-ctl restart重启所有服务sudo gitlab-ctl status查看服务状态sudo gitlab-rake gitlab:check系统健康检查5.2 日志查看技巧各组件日志位置Nginx访问日志/var/log/gitlab/nginx/gitlab_access.logGitLab主日志/var/log/gitlab/gitlab-rails/production.logSidekiq作业日志/var/log/gitlab/gitlab-sidekiq/current实时监控日志sudo gitlab-ctl tail # 所有组件日志 sudo gitlab-ctl tail nginx/gitlab_access.log # 特定组件日志6. 备份与恢复策略6.1 创建完整备份sudo gitlab-rake gitlab:backup:create备份文件默认存储在/var/opt/gitlab/backups目录文件名包含时间戳如1651234567_gitlab_backup.tar6.2 自动化备份配置在/etc/gitlab/gitlab.rb中添加gitlab_rails[backup_path] /mnt/gitlab-backups gitlab_rails[backup_keep_time] 604800 # 保留7天创建每日备份的cron任务sudo crontab -e添加以下内容每天凌晨2点执行0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON17. 高级功能配置示例7.1 集成LDAP认证gitlab_rails[ldap_enabled] true gitlab_rails[ldap_servers] { main { label LDAP, host ldap.example.com, port 636, uid sAMAccountName, bind_dn CNGitLab Sync,OUService Accounts,DCexample,DCcom, password your_ldap_password, encryption simple_tls, verify_certificates true, active_directory true, base OUUsers,DCexample,DCcom } }7.2 容器注册表配置启用内置Docker注册表registry[enable] true registry_external_url https://registry.example.com registry_nginx[redirect_http_to_https] true配置完成后重新加载配置sudo gitlab-ctl reconfigure sudo gitlab-ctl restart

更多文章