Ubuntu環境下GitLab使用常見問題及解決方案
E: Unable to locate package gitlab-ee
,多為Ubuntu版本與GitLab包不兼容或包源未正確配置所致。需前往GitLab官方包頁面下載對應Ubuntu版本的安裝腳本,嚴格按腳本指示操作;也可通過curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
添加官方APT倉庫,再執行sudo apt update && sudo apt install gitlab-ce
安裝。curl
、openssh-server
、ca-certificates
、postfix
等必要依賴,否則會因依賴問題導致安裝失敗??赏ㄟ^sudo apt install -y curl openssh-server ca-certificates postfix
補充安裝。.deb
包后手動安裝(sudo dpkg -i gitlab-ce.deb
)。root
,若忘記密碼,可通過服務器命令行查看初始密碼(cat /etc/gitlab/initial_root_password
),或進入容器重置密碼(Docker環境下執行docker-compose exec web gitlab-rake "gitlab:password:reset"
)。/etc/gitlab/gitlab.rb
中的external_url
(如從http://IP
改為http://domain.com
),需執行sudo gitlab-ctl reconfigure
重新配置GitLab并重啟服務(sudo gitlab-ctl restart
),否則無法通過新URL訪問。/etc/gitlab/gitlab.rb
中的端口設置(如nginx['listen_port'] = 8080
)解決,修改后需重新配置并重啟。runsv not running
錯誤,需手動啟動gitlab-runsvdir
服務(sudo systemctl start gitlab-runsvdir
);若出現500/502錯誤,多為服務器資源不足(如內存小于2GB)或配置文件錯誤所致??赏ㄟ^sudo gitlab-ctl tail
查看日志定位具體原因,內存不足時可添加Swap分區(sudo fallocate -l 2G /swapfile
)。sudo gitlab-ctl status
),確保unicorn
、sidekiq
等服務均處于run
狀態;若狀態異常,可嘗試重啟服務(sudo gitlab-ctl restart
)。Permission denied (publickey)
,需確認本地SSH密鑰已添加至GitLab賬戶(ssh-copy-id git@your_server_ip
),并檢查~/.ssh/config
文件是否正確配置(如Host your_server_ip
段包含IdentityFile ~/.ssh/id_rsa
)。sudo gitlab-rake gitlab:check
檢查賬戶狀態,或重置密碼(方法同上);若使用LDAP認證,需確認LDAP配置正確(/etc/gitlab/gitlab.rb
中的gitlab_rails['ldap_servers']
設置)。sudo swapon /swapfile
)或升級服務器配置解決。sudo du -sh /var/opt/gitlab/
查看磁盤使用情況,清理過期流水線(sudo gitlab-rake gitlab:pipeline:cleanup
)或備份文件(sudo gitlab-backup delete
)。docker-compose.yml
中配置數據卷(如volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab'
),確保數據持久化。