對於企業級的私有 git 倉庫,gitlab 是個不錯的選擇。html
今天就來講說 gitlab
的安裝、配置。nginx
系統配置建議:最低雙核 4G 內存。git
當前針對 gitlab
版本:11.5.3
。github
根據官方的安裝教程,選取 ubuntu 環境下的社區版進行安裝:https://about.gitlab.com/install/#ubuntu?version=ce。web
若是須要其餘的環境(如 CentOS
、docker
等)或者企業版,參考這裏:https://about.gitlab.com/install/。docker
注:社區版是免費的,企業版是收費的。npm
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce
這裏須要把 http://gitlab.example.com
改爲你本身的真正對外服務的 gitlab
url 地址(也能夠安裝後在配置文件裏面更改)。ubuntu
到這裏爲止,gitlab
就算安裝好了。tomcat
gitlab
默認建議安裝在一個單獨的主機上,默認使用內置的 nginx
服務器,並使用 80
和 8080
兩個端口。bash
若是你是按照 gitlab
的默認建議,使用的是單獨的主機,直接訪問 ip 地址 http://ip
,或者把域名解析到這臺機器上後直接訪問域名 http://gitlab.your.com
,而後按照步驟在 web
頁面上初始化 gitlab
就能夠了。
然而,不少狀況下,gitlab
並不會部署到一臺單獨的服務器上,而是像其餘不少服務同樣(如 jenkins
),部署到同一臺服務器上,而後使用 nginx
反向代理。
添加 nginx
配置:
upstream gitlab-workhorse { server unix:/var/opt/gitlab/gitlab-workhorse/socket; } server { listen 0.0.0.0:80; listen [::]:80; server_name gitlab.your.com; server_tokens off; root /opt/gitlab/embedded/service/gitlab-rails/public; access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; location / { client_max_body_size 0; gzip off; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://gitlab-workhorse; } }
若是想要了解更詳細的配置,能夠參考:NGINX settings | GitLab。
從新加載 nginx
配置:
service nginx reload # or service nginx restart
修改 gitlab
配置:
vi /etc/gitlab/gitlab.rb external_url 'http://gitlab.your.com' # 此處修爲你本身的 gitlab url web_server['external_users'] = ['www-data'] # 設置外部 webserver 用戶 nginx['enable'] = false # 不使用內置的 nginx
sudo usermod -aG gitlab-www www-data # 把 www-data 用戶添加到 gitlab-www 組
gitlab
服務默認使用的是 8080
端口,若是 8080
端口已經被其餘程序(如 tomcat
)佔用,須要改爲其餘端口:
unicorn['port'] = 8081 # 改爲你本身以爲好的端口
更新 gitlab
配置,重啓服務:
gitlab-ctl reconfigure gitlab-ctl restart
如今你就能夠訪問 http://gitlab.your.com
,而後按照步驟在 web
頁面上初始化 gitlab
就能夠了。
gitlab-ctl start # 啓動 gitlab gitlab-ctl stop # 中止 gitlab gitlab-ctl restart # 重啓 gitlab gitlab-ctl status # 查看服務狀態 vi /etc/gitlab/gitlab.rb # 修改配置文件 gitlab-ctl reconfigure # 從新編譯 gitlab 配置 gitlab-rake gitlab:check SANITIZE=true --trace # 檢查 gitlab gitlab-ctl tail # 查看日誌 gitlab-ctl tail nginx/gitlab_access.log
/var/log/gitlab/ # 日誌地址 /var/opt/gitlab/ # 服務地址
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
解決:須要 npm
安裝一下
cd /opt/gitlab/embedded/service/gitlab-rails npm install gitlab-ctl restart # 重啓服務
更多博客,查看 https://github.com/senntyou/blogs
版權聲明:自由轉載-非商用-非衍生-保持署名(創意共享3.0許可證)