關於GitLab中文版的那點事兒

雜序

關於Git的那些事兒,這裏不多說。Git這個極好用的分佈式版本管理系統,不得不說給我們日常團隊研發及代碼管理帶來了太多益處與效率。
如果要問我他是何方神聖,我只想說你可以關注下:

  1. Git主頁:https://git-scm.com/
  2. GitHub主頁:https://github.com/
  3. GitLab主頁:https://about.gitlab.com/
    本文將以CentOS7爲系統,介紹GitLab CE(社區版)。

環境搭建

安裝GitLab

通過GitLab首頁域名進入首頁,選擇Download,如下圖:
這裏寫圖片描述

點擊Select Oprating System,彈出系統列表選擇CentOS7,按照安裝步驟嚮導進行安裝。

1、安裝系統以來軟件包,並且打開http服務和系統防火牆

$ sudo yum install libsemanage-static libsemanage-devel
$ sudo yum install curl policycoreutils openssh-server openssh-clients
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
$ sudo yum install postfix
$ sudo systemctl enable postfix
$ sudo systemctl start postfix
$ sudo firewall-cmd --permanent --add-service=http
$ sudo systemctl reload firewalld

2、編輯/etc/gitlab/gitlab.rb文件,配置STMP郵件發送服務

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'

其他郵箱詳細配置詳見:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md

3、安裝GitLab Server,有兩種安裝方式:

  • yum安裝
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo yum install gitlab-ce

此安裝方式,默認會安裝最新版本。yum安裝默認使用的國外鏡像會比較慢,清華爲我們一共了一個國內鏡像,詳情參見:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

  • 安裝包安裝
$ curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download
$ rpm -i gitlab-ce-XXX.rpm

通過https://packages.gitlab.com/gitlab/gitlab-ce地址,可以下載rpm安裝包。右上角的搜索框可以輸入對應版本號,搜索出指定版本的安裝包(這對於中文漢化很重要,此處安裝的英文版大版本,一定要對應中文版的大版本。例如,中文版8-8-zh,可以漢化英文版8.8.x),本文使用8.8.9版本進行安裝。
上文代碼片段中的XXX需要替換成我們的安裝版本號。

4、進行GitLab初始化基礎配置
編輯/etc/gitlab/gitlab.rb配置文件

  • 修改訪問IP/域名
external_url 'http://192.168.0.100'

以上配置,指定了訪問GitLab的地址爲192.168.0.100

5、觸發GitLab配置生效

$ sudo gitlab-ctl reconfigure

6、如果沒有報錯,看見gitlab Reconfigured!提示,表示配置生效,可以通過我們剛剛配置的IP/域名訪問登錄GitLab平臺了,此處地址爲:http://192.168.0.100,默認的系統管理員賬號:root,密碼:5iveL!fe。

7、開啓gitlab的自動啓動

$ systemctl enable gitlab-runsvdir.service
$ systemctl start gitlab-runsvdir.service
$ gitlab-cmd start

關閉gitlab的自動啓動命令:systemctl disable gitlab-runsvdir.service

8、查看當前安裝GitLab版本

$ head -1 /opt/gitlab/version-manifest.txt

中文漢化

準備工作

1、首先我們確保Windows環境,安裝了Git,因爲我們所有的操作都在命令行完成
2、克隆漢化版倉庫

$ git clone https://gitlab.com/xhang/gitlab

3、製作漢化補丁

$ git branch -a #查看當前所有版本分支 
$ sudo git diff origin/8-8-stable..origin/8-8-zh > /d/tmp/8.8.diff

以上命令,對比了英文版本8-8-stable與中文版本8-8-zh分支的差別,並再Windows系統的D盤tmp目錄下生成了補丁文件8.8.diff。注意: 漢化補丁和安裝的版本一定要一致, 小版本很重要, 例如8.8-zh只支持8.8.0不支持8.8.+

漢化

1、停止192.168.0.100服務器的GitLab Server(必須先停止GitLab Server再進行漢化,否則會出錯)

$ sudo gitlab-ctl stop

2、上傳上文生成的8.8.diff漢化補丁,至安裝GitLab Server的CentOS7服務器,假設我們上傳至/home,全路徑爲/home/8.8.diff。

3、進行漢化

$ sudo patch -d /opt/gitlab/embedded/service/gitlab-rails < /home/8.8.diff

4、啓動GitLab Server

$ sudo gitlab-ctl start

5、再次使用http://192.168.0.100,登錄GitLab管理平臺,看到中文界面了嗎?恭喜你漢化成功!見下圖:
這裏寫圖片描述

卸載

  • 停止GitLab
$ gitlab-ctl stop
  • 卸載GitLab
$ rpm -e gitlab-ce
  • 查看並結束GitLab進程
$ ps -ef | grep gitlab

root      1812     1  0 Jun15 ?        00:00:34 runsvdir -P /opt/gitlab/service log: ...........................................................................................................................................................................................................................................................................................................................................................................................................
root      2196  1812  0 Jun15 ?        00:00:00 runsv gitlab-workhorse
root      2455  1812  0 Jun15 ?        00:00:00 runsv gitlab-monitor
root      2771  1836  0 Jun15 ?        00:00:03 svlogd -tt /var/log/gitlab/redis
root      2772  1900  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/postgresql
root      2773  2131  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/unicorn
root      2774  2174  0 Jun15 ?        00:00:02 svlogd -tt /var/log/gitlab/sidekiq
root      2784  2514  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/redis-exporter
root      2788  2455  0 Jun15 ?        00:01:00 svlogd -tt /var/log/gitlab/gitlab-monitor
root      2793  2196  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/gitlab-workhorse
root      2794  2218  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/nginx
root      2795  2249  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/logrotate
root      2826  2273  0 Jun15 ?        00:01:19 svlogd -tt /var/log/gitlab/gitaly
root      2827  2406  0 Jun15 ?        00:00:04 svlogd -tt /var/log/gitlab/node-exporter
root      2843  2626  0 Jun15 ?        00:00:00 svlogd -tt /var/log/gitlab/postgres-exporter
root      2844  2541  0 Jun15 ?        00:00:02 svlogd -tt /var/log/gitlab/prometheus
root      2919  2582  0 Jun15 ?        00:00:01 svlogd -tt /var/log/gitlab/alertmanager
root      9239  9005  0 10:34 pts/0    00:00:00 grep --color=auto gitlab

$ kill -9 1812
$ ps -ef | grep gitlab
  1. 首先查看gitlab進程
  2. 殺掉第1個進程
  3. 再次查看gitlab進程是否存在(確認以殺死進程)
  • 刪除所有包含gitlab的文件夾及目錄
$ find / -name gitlab|xargs rm -rf

問題

ruby_block[supervise_redis_sleep] action run

在運行以下命令時,出現標題錯誤

$ sudo gitlab-ctl reconfigure

先執行命令

$ sudo exec /opt/gitlab/embedded/bin/runsvdir-start &

然後再次執行命令,配置正常

$ sudo gitlab-ctl reconfigure

warning: LF will be replaced by CRLF in…

在運行例如新增文件操作時,出現標題警告,可執行以下命令關閉轉換設置

$ git config --global core.autocrlf false

改警告是由於windows中的換行符爲 CRLF, 而在linux下的換行符爲LF,所以在執行add . 時出現提示

發佈了52 篇原創文章 · 獲贊 16 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章