Debian环境下GitLab使用技巧
/etc/apt/sources.list.d/gitlab-ce.list添加镜像源,再执行sudo apt update。/etc/gitlab/gitlab.rb文件,设置external_url 'http(s)://your-domain.com'(替换为实际域名或IP);若需用Nginx/Apache作为反向代理,需禁用GitLab自带Nginx(nginx['enable'] = false),并在代理服务器中配置proxy_pass指向127.0.0.1:8022(GitLab默认端口)。/etc/gitlab/gitlab.rb中的unicorn['worker_processes'] = 2(根据CPU核心数调整)、sidekiq['concurrency'] = 10(根据任务队列长度调整)、gitlab_rails['db_pool'] = 20(数据库连接池大小),避免资源耗尽。ssh-keygen -t rsa -b 4096),将公钥(~/.ssh/id_rsa.pub)添加至GitLab用户设置的「SSH Keys」中,服务器端确保/etc/ssh/sshd_config中PasswordAuthentication no已启用。sudo gitlab-ctl reconfigure启用Let’s Encrypt(需提前在/etc/gitlab/gitlab.rb中设置letsencrypt['enable'] = true和letsencrypt['contact_emails'] = ['admin@example.com']),或手动上传证书至/etc/gitlab/ssl/目录并配置Nginx反向代理。ufw仅开放必要端口(HTTP 80、HTTPS 443、SSH 22),执行sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw allow 22/tcp && sudo ufw enable,防止非法访问。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),注册时选择「Shell」或「Docker」执行器(根据需求),注册后即可关联项目并执行.gitlab-ci.yml中的流水线任务(如构建、测试、部署)。stages),利用缓存(cache)加速构建(如缓存node_modules),使用artifacts传递中间文件(如编译产物),示例:stages:
- test
- deploy
test_job:
stage: test
script:
- npm install
- npm test
cache:
paths:
- node_modules/
deploy_job:
stage: deploy
script:
- scp -r ./ user@server:/var/www/html
only:
- main
sudo gitlab-backup create),备份文件默认存储在/var/opt/gitlab/backups/,可通过sudo gitlab-backup restore BACKUP=timestamp恢复(需停止GitLab服务:sudo gitlab-ctl stop unicorn && sudo gitlab-ctl stop sidekiq)。logrotate管理日志文件(编辑/etc/logrotate.d/gitlab设置保留天数和压缩规则),避免日志过大占用磁盘;通过Prometheus+Grafana监控GitLab性能(如CPU、内存、请求响应时间),及时发现瓶颈。main分支受保护,仅维护者可合并;开发分支通过Merge Request提交,要求代码审查),确保代码质量。