gitlab部署及漢化


Author:Mr.Gao

Git 簡介

GitLab是一個開源版本管理系統,是集代碼托管,測試,部署於一體的開源git倉庫管理軟件,可通過web界面來進行訪問公開的或私人項目。與Github類似,GitLab能夠瀏覽代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本,並提供一個文件歷史庫。是目前非常流行好用的研發版本控制系統。

Git有三個類分別為

  1. Git: 是本地版本控制系統工具。
  2. Github:是官方在線代碼托管倉庫,可自行注冊使用,https://github.com
  3. GitLab:是自建的一個非官方的自有版本倉庫。通俗一點就是公司內部的。

這里要給大家分享的是搭建一個屬於自己的Git倉庫,也就是Gitlab。

Gitlab對硬件還是有一定要求的,因Gitlab有多個job任務及進程,對內存是有要求的,建議1cpu以上,2G內存以上。

部署

前夕准備
我們將在Centos 7下進行這次實踐

  1. 關閉防火牆
  2. 關閉SELinux
  3. 關閉NetworkManager
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
$ setenforce 0
$ systemctl stop NetworkManager
$ systemctl disable NetworkManager 
$ systemctl disable firewalld
$ systemctl stop firewalld

1. 配置yum源(推薦)

添加gitlab源,我這里使用了清華大學的源

$ cp -fr /etc/yum.repos.d /etc/yum.repos.d.bak

$ cat >/etc/yum.repos.d/gitlab-ce.repo <<EOF
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
EOF

2. 安裝

安裝一些git工具包

$ yum makecache
$ yum -y install curl policycoreutils openssh-server openssh-clients postfix  cronie git wget patch
$ systemctl restart postfix
$ systemctl enable postfix
$ #yum install gitlab-ce git    #自動安裝最新版
$ yum install gitlab-ce-12.3.5 git -y    #安裝指定版本,我這里選用了v12.3.5

安裝完畢

配置GitLab

1、加載配置

安裝完成后,第一次加載配置的時候會很慢,耐心等待就好,直到加載完成。

如果一直卡在ruby_block[......] action run,處理方法:
按住CTRL+C強制結束
運行:$ sudo systemctl restart gitlab-runsvdir
再次執行: $ sudo gitlab-ctl reconfigure

注意:在配置gitlab之前保證80端口沒有被占用

$ gitlab-ctl reconfigure

加載完成后,開始啟動Gitlab,GitLab默認會占用80、8080和9090端口,如果條件不允許使用80端口,請看下一節,否則可以忽略

$ gitlab-ctl restart
$ gitlab-ctl status

開戶訪問web界面
第一次訪問,系統會要求重置新密碼,管理員的用戶名為root

登錄完成,點擊右上角的Settings進行Preferences設置,在語言項選擇中文,此時刷新后,可以看到標題和右側的導航欄是變為中文的,但是具體的項目並沒有中文顯示,所以會變成中文+英文的LOW爆顯示,后面將會介紹通過補丁/包進行gitlab完美漢化的教程。如圖:

2、修改git默認訪問端口

首先,停用gitlab,$ gitlab-ctl stop

gitlab.rb

用於gitlab如何調用80和8080的服務等

$ cp -fr /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.gao-`date +%Y%m%d`
$ sed -i 's#gitlab.example.com#YOUR_IP:12580#g'  /etc/gitlab/gitlab.rb    # "$YOUR_IP"請自行修改
$ vim /etc/gitlab/gitlab.rb
nginx['listen_port'] = 12580
nginx['listen_https'] = false
nginx['listen_addresses'] = ['*']
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8088
prometheus['listen_address'] = 'localhost:9099'

unicorn.rb

$ cp -fr /var/opt/gitlab/gitlab-rails/etc/unicorn.rb{,.gao-`date +%Y%m%d`}
$ sed -i 's#8080#8088#g' /var/opt/gitlab/gitlab-rails/etc/unicorn.rb

gitlab-http.conf

這個文件是gitlab內置的nginx的配置文件,里面可以影響到nginx真實監聽端口號。

$ cd /var/opt/gitlab/nginx/conf/
$ cp -fr gitlab-http.conf gitlab-http.conf.gao-`date +%Y%m%d`
$ vim gitlab-http.conf    #修改以下幾行內容
listen *:12580;
server_name YOUR_IP;
set $http_host_with_default "YOUR_IP:12580";

giltab-shell

$ vim /var/opt/gitlab/gitlab-shell/config.yml
gitlab_url: "http://127.0.0.1:8088"    #unicorn_port

3. 代碼發布地址(域名)

$ vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
gitlab:
  ## Web server settings (note: host is the FQDN, do not include http://)
  host: YOUR_IP
  port: 12580
  https: false

4. 服務驗證

$ gitlab-ctl reconfigure
$ gitlab-rake gitlab:check SANITIZE=true --trace    #配置檢查
$ gitlab-ctl restart
$ gitlab-ctl tail    #日志輸出,可用於排錯

訪問git地址:http://YOUR_IP:12580

至此!gitlab安裝完成,下面講一下如何進行漢化


漢化Gitlab(more)

下載對應版本的漢化包
Gitlab默認語言是英文,對於想加強英文的同學,建議繼續使用英文,但要求使用中文,這里需要下載一個漢化包

如果要下載指定版本的漢化包,命令如下:

$ cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.3.5
$ wget https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz
$ tar -zxf gitlab-v12.3.5-zh.tar.gz

下載完成后,將下載的文件夾內容復制到gitlab目錄下,復制前先停止Gitlab

$ gitlab-ctl stop

覆蓋文件進行漢化

漢化包和你的gitlab版本一定要一樣

$ cp -fr /opt/gitlab/embedded/service/gitlab-rails{,gao-`date +%Y%m%d`}    ##備份原文件
$ \cp -rf ./gitlab-v12.3.5-zh/* /opt/gitlab/embedded/service/gitlab-rails/

復制時可能不斷提示是否要覆蓋,這時可能是系統每次執行cp命令時,其實是執行了cp -i命令的別名。出現這種情況可以修改~/.bashrc,在“alias cp=’cp -i’”前加#注釋,再刷新文件 source ~/.bashrc

在復制過程中提示,以下信息是正常的:

cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/log’ with directory ‘./log’
cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory ‘./tmp’

復制完成后,需要重新加載配置,並啟動Gitlab

$ gitlab-ctl reconfigure    
$ gitlab-ctl restart

再次訪問gitlab頁面,就可以顯示中文界面,如圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM