GitLab在Debian上的自定义配置指南
在自定义配置前,需完成GitLab的安装与基础配置。首先更新系统包并安装依赖:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates postfix
添加GitLab官方仓库并安装GitLab CE:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt install gitlab-ce
编辑/etc/gitlab/gitlab.rb设置external_url(如http://your-server-ip或域名),运行sudo gitlab-ctl reconfigure应用配置,启动服务并设置开机自启:
sudo gitlab-ctl start
sudo systemctl enable gitlab
GitLab的主要配置文件为/etc/gitlab/gitlab.rb,几乎所有自定义设置均在此文件中完成。修改后需执行sudo gitlab-ctl reconfigure使更改生效,部分配置需重启服务(sudo gitlab-ctl restart)。
通过external_url设置GitLab的访问地址(支持HTTP/HTTPS),例如:
external_url 'https://gitlab.example.com'
若使用HTTPS,需启用Let’s Encrypt自动证书:
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
nginx['listen_port'](默认80):nginx['listen_port'] = 8080
gitlab_rails['gitlab_shell_ssh_port'](默认22):gitlab_rails['gitlab_shell_ssh_port'] = 2222
gitlab_rails['locale']修改界面语言(如中文):gitlab_rails['locale'] = 'zh_CN'
gitlab_rails['theme'] = 2 # 主题ID(0-10)
若需使用邮件通知(如密码重置、CI/CD提醒),需配置SMTP参数:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@example.com"
gitlab_rails['smtp_password'] = "your-password"
gitlab_rails['smtp_domain'] = "smtp.example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
/etc/gitlab/gitlab-rails/stylesheets/下添加application_custom.css.erb(CSS)或/var/opt/gitlab/gitlab-rails/public/assets/下添加application-custom.js(JS):/* /etc/gitlab/gitlab-rails/stylesheets/application_custom.css.erb */
body {
background-color: #f0f0f0;
}
// /var/opt/gitlab/gitlab-rails/public/assets/application-custom.js
console.log('Custom JavaScript loaded!');
sudo gitlab-rake assets:precompile RAILS_ENV=production
sudo gitlab-ctl restart
通过GitLab插件扩展功能(如代码质量分析、项目管理工具集成):
/etc/gitlab/gitlab.rb添加插件名称:gitlab_rails['plugins'] = ['plugin-name']
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
GitLab Runner用于执行CI/CD流水线任务,需单独安装并注册:
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
sudo gitlab-runner register
输入GitLab服务器URL、注册令牌及Runner配置(如docker、shell executor)。若偏好容器化管理,可通过Docker运行GitLab并挂载配置文件:
docker pull gitlab/gitlab-ce:latest
docker run -d -p 443:443 -p 80:80 -p 2222:22 --name gitlab --restart always gitlab/gitlab-ce
/etc/gitlab/gitlab.rb,重启容器:docker exec -it gitlab /bin/bash
sudo gitlab-ctl reconfigure
exit
docker restart gitlab
external_url确认界面显示正常(如语言、主题生效)。.gitlab-ci.yml中的build任务),检查Runner是否执行。curl -v http://localhost:8080(替换为自定义端口)确认Nginx监听端口正确。通过以上步骤,可根据需求灵活定制GitLab在Debian上的配置,提升开发协作效率。