Debian环境下GitLab实用使用技巧
curl、openssh-server、ca-certificates、postfix),其中postfix用于邮件通知(安装时可选择“Internet Site”配置)。通过GitLab官方脚本添加软件源,避免手动下载包的繁琐。/etc/gitlab/gitlab.rb文件,设置external_url为服务器IP或域名(如http://your-server-ip);若使用外部Nginx反向代理,可禁用GitLab自带Nginx(nginx['enable'] = false),避免端口冲突;修改完成后执行sudo gitlab-ctl reconfigure应用配置,重启服务使更改生效。main分支用于稳定代码,develop分支用于集成,feature分支用于功能开发),确保代码稳定性;通过“Merge Request”发起代码审查,团队成员可评论、讨论,通过后自动合并,提升代码质量。Owner、Maintainer、Developer、Reporter、Guest),控制其对代码、议题、CI/CD流程的访问权限,避免未授权操作。.gitlab-ci.yml文件,定义构建、测试、部署步骤(如script指定命令,stage划分阶段);示例:image: ruby:3.2指定基础镜像,stages: [test, deploy]定义阶段,rspec job运行测试。注册GitLab Runner(curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash + sudo apt install gitlab-ci-multi-runner),通过Web界面获取注册命令,关联Runner后即可执行流水线。.gitlab-ci.yml中配置cache(如cache: key: ${CI_COMMIT_REF_SLUG} paths: - vendor/bundle),缓存依赖减少重复下载;并行化任务(parallel: 4),同时运行多个测试任务,缩短流水线时间。/var/opt/gitlab)迁移至SSD,显著提高磁盘IO性能;调整GitLab配置(postgresql['shared_buffers'] = "25% of total RAM"增加PostgreSQL共享缓冲区,unicorn['worker_processes'] = 3根据CPU核心数调整Unicorn进程数),优化数据库和Web服务性能。redis['enable'] = true),加速数据访问;定期清理旧数据(sudo gitlab-rake gitlab:backup:cleanup清理30天前的备份,sudo gitlab-rake gitlab:ci:cleanup清理7天前的CI/CD作业,sudo journalctl --vacuum-time=2weeks清理2周前的日志),减少磁盘占用。sudo ufw allow 80/tcp、sudo ufw allow 443/tcp),仅允许必要端口访问;使用SSH密钥认证(ssh-keygen -t rsa -b 4096生成密钥,将公钥添加至GitLab用户设置),替代密码认证,提升安全性;配置SSL证书(如Let’s Encrypt),启用HTTPS,加密数据传输。sudo apt update && sudo apt upgrade gitlab-ce),获取性能优化和安全补丁;设置自动备份策略(sudo gitlab-rake gitlab:backup:create手动备份,或通过cron定时任务自动备份),并定期测试恢复流程(sudo gitlab-backup restore BACKUP=timestamp),防止数据丢失。