gitlab 安裝、配置

gitlab 安裝、配置

對於企業級的私有 git 倉庫,gitlab 是個不錯的選擇。html

今天就來講說 gitlab 的安裝、配置。nginx

系統配置建議:最低雙核 4G 內存。git

當前針對 gitlab 版本:11.5.3github

1. 說明

根據官方的安裝教程,選取 ubuntu 環境下的社區版進行安裝:https://about.gitlab.com/install/#ubuntu?version=ceweb

若是須要其餘的環境(如 CentOSdocker 等)或者企業版,參考這裏:https://about.gitlab.com/install/docker

注:社區版是免費的,企業版是收費的。npm

2. 安裝、配置所需依賴

sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix

3. 添加安裝包地址,並安裝

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

4. 安裝以後

gitlab 默認建議安裝在一個單獨的主機上,默認使用內置的 nginx 服務器,並使用 808080 兩個端口。bash

若是你是按照 gitlab 的默認建議,使用的是單獨的主機,直接訪問 ip 地址 http://ip,或者把域名解析到這臺機器上後直接訪問域名 http://gitlab.your.com,而後按照步驟在 web 頁面上初始化 gitlab 就能夠了。

然而,不少狀況下,gitlab 並不會部署到一臺單獨的服務器上,而是像其餘不少服務同樣(如 jenkins),部署到同一臺服務器上,而後使用 nginx 反向代理。

5. 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 就能夠了。

6. 經常使用命令

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

7. 經常使用目錄

/var/log/gitlab/                                 # 日誌地址 
/var/opt/gitlab/                                 # 服務地址

8. 查看版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

9. 可能遇到的一些問題

9.1 File to import not found or unreadable

圖片描述

解決:須要 npm 安裝一下

cd /opt/gitlab/embedded/service/gitlab-rails
npm install
gitlab-ctl restart                               # 重啓服務

後續

更多博客,查看 https://github.com/senntyou/blogs

做者:深予之 (@senntyou)

版權聲明:自由轉載-非商用-非衍生-保持署名(創意共享3.0許可證

相關文章
相關標籤/搜索