如何在Ubuntu上自定义GitLab
在Ubuntu上自定义GitLab主要围绕基础配置、功能增强、界面优化及性能调整等方面展开,以下是具体步骤:
在安装GitLab前,需确保系统满足基本要求并安装依赖:
sudo apt update && sudo apt upgrade -ysudo apt install -y curl openssh-server ca-certificates postfix(安装过程中选择“Internet站点”配置Postfix,用于邮件通知)。curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashsudo apt install gitlab-ce(默认安装最新稳定版)。配置文件路径为/etc/gitlab/gitlab.rb,修改后需执行sudo gitlab-ctl reconfigure使更改生效:
external_url为服务器IP或域名(如external_url 'http://192.168.1.100'),若使用自定义端口(如9090),需同步修改nginx['listen_port']。gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@gmail.com"
gitlab_rails['smtp_password'] = "your-app-password" # 需使用Gmail应用专用密码
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "your-email@gmail.com"
```。
unicorn['port'])或HTTP(nginx['listen_port'])端口,直接在配置文件中调整对应值(如unicorn['port'] = 3001,nginx['listen_port'] = 3000),并同步修改防火墙规则。/var/opt/gitlab/git-data),在gitlab.rb中添加:git_data_dirs({ "default" => { "path" => "/mnt/data/git-data" } })
修改后需停止GitLab、迁移数据(rsync -av /var/opt/gitlab/git-data/repositories /mnt/data/git-data)、重新配置并启动。sudo gitlab-ctl reconfigure(自动申请证书),或手动指定证书路径:nginx['ssl_certificate'] = "/etc/letsencrypt/live/your-domain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/your-domain.com/privkey.pem"
```。
username/username),上传包含自定义Markdown内容的README.md文件(如项目介绍、导航链接),作为GitLab首页。curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects" --form "name=my_project")。gitlab.rb中启用相关功能(如gitlab_rails['omniauth_enabled'] = true集成GitHub登录)。sudo gitlab-ctl startsudo gitlab-ctl stopsudo gitlab-ctl restartsudo gitlab-ctl statussudo gitlab-ctl tail(查看所有日志)或sudo gitlab-ctl tail nginx/gitlab_access.log(查看Nginx访问日志)。cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak),避免配置错误导致服务无法启动。ufw)中开放对应端口(如sudo ufw allow 9090/tcp)。cat /etc/gitlab/initial_root_password查看初始密码)。