1. 程式人生 > >Gitlab部署和漢化以及簡單運維

Gitlab部署和漢化以及簡單運維

在跟網路中心的老師溝通成立映象站的相關事宜的時候,意外地接下來搭建一套校內的 Git 服務的任務。

@怡紅公子曾經搭建過一套類似的服務,但由於伺服器端沒有開啟 VT 虛擬化導致不能安裝 64 位的作業系統,再加上 Gitlab 不提供 32 位的安裝包,所以長期以來怡紅公子一直都是自行編譯並配置 Gitlab 。考慮到後續維護的方便,我們決定趁著這個機會使用另一臺支援安裝 64 位作業系統的伺服器,一勞永逸地解決這個問題。

我們的伺服器環境是 CentOS 7.2 64bit,以下所有操作均以此為基準。

Gitlab 安裝

安裝和配置依賴

如果需要安裝 Postfix 來發送郵件,則需要在安裝過程中選擇 Internet Site

。你也可以使用 Sendmail 之類的第三方發信服務或者使用自行配製的 SMTP 伺服器。

除此以外,下列命令將會在防火牆中開啟 HTTP(80) 和 SSH(22) 對應埠。

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

新增 Gitlab 源並安裝

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

這個指令碼會在源中新增 Gitlab-CE ,並自動執行 yum makecache,然後安裝 gitlab-ce。由於源在國外,可能速度較慢,也可以手動新增來自 清華tuna 的源: https://mirrors.tuna.tsinghua.edu.cn/help/gitlab-ce/

, 連結中為各發行版下的教程,感謝 清華tuna 提供映象。

配置並啟動 Gitlab

此時已經可以啟動服務了:

sudo gitlab-ctl reconfigure

進行一長串複雜的啟動流程之後, gitlab 就已經可以通過 localhost進行訪問了。

Gitlab 配置

修改域名

預設的配置檔案儲存在 /etc/gitlab/gitlab.rb,執行:

sudo vim /etc/gitlab/gitlab.rb

開啟檔案,並修改:

external_url 'http://your.domain'

再次執行

sudo gitlab-ctl reconfigure

即可。

有一定概率出現 502 錯誤,重新整理瀏覽器或者再次更新配置即可。

Gitlab 漢化

由於服務物件是廣大師生,為了降低新手上手的難度,所有進行漢化也是非常有必要的。好在國內有人已經進行了這方面的工作,我們只需要共享其成果即可(歡迎向 原專案提交高質量翻譯)。

首先確認版本:

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

並確認當前漢化版本的 VERSION 是否相同,當前最新的漢化版本為 8.6 。

如果安裝版本小於當前漢化版本,請先升級。如果安裝版本大於當前漢化版本,請在本專案中提交新的 issue。

如果版本相同,首先在本地 clone 倉庫。

# GitLab.com 倉庫
git clone https://gitlab.com/larryli/gitlab.git

# 或 Coding.net 映象
git clone https://git.coding.net/larryli/gitlab.git

根據我的測試, Coding.net 的映象不完整,clone 之後無法 checkout

然後比較漢化分支和原分支,匯出 patch 用的 diff 檔案。

# 8.1 版本的漢化補丁
git diff origin/8-6-stable..8-6-zh > ../8.6.diff

然後上傳 8.6.diff檔案到伺服器。

# 停止 gitlab
sudo gitlab-ctl stop
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 8.6.diff

確定沒有 .rej 檔案,重啟 GitLab 即可。

sudo gitlab-ctl start

如果漢化中出現問題,請重新安裝 GitLab( 注意備份資料)。

Gitlab 運維

管理

# 啟動所有 gitlab 元件:
sudo gitlab-ctl start

# 停止所有 gitlab 元件:
sudo gitlab-ctl stop

# 重啟所有 gitlab 元件:
sudo gitlab-ctl restart

備份

備份GitLab repositories and GitLab metadata

在 crontab 中加入如下命令:

0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create

恢復

首先進入備份 gitlab 的目錄,這個目錄是配置檔案中的 gitlab_rails['backup_path'],預設為 /var/opt/gitlab/backups

然後停止 unicorn 和 sidekiq ,保證資料庫沒有新的連線,不會有寫資料情況。

sudo gitlab-ctl stop unicorn
# ok: down: unicorn: 0s, normally up
sudo gitlab-ctl stop sidekiq
# ok: down: sidekiq: 0s, normally up

然後恢復資料,1406691018為備份檔案的時間戳

gitlab-rake gitlab:backup:restore BACKUP=1406691018

相關推薦

Gitlab部署以及簡單

在跟網路中心的老師溝通成立映象站的相關事宜的時候,意外地接下來搭建一套校內的 Git 服務的任務。 @怡紅公子曾經搭建過一套類似的服務,但由於伺服器端沒有開啟 VT 虛擬化導致不能安裝 64 位的作業系統,再加上 Gitlab 不提供 32 位的安裝包,所以長期以來怡紅公子一直都是自行編譯並配置 Gitl

Gitlab部署操作

hosts VC hub 安裝 true 一個 epo found rails 一、簡介 GitLab是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。 GitLab擁有與Github類

gitlab安裝

更新 修改 tlab -i mbed 覆蓋 地址 配置 roo 下載源https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/?C=M&O=A yum install policycoreutils-python -y

sublime教程以及python環境的配置(一)下載與安裝,常用快捷鍵教程

本文為我的sublime的筆記以及某些常用功能的介紹,還有基於sublime編輯器上python環境的配置。 我使用的該編輯器版本為為Sublime Text Build 3176版本,目前,python已更新到了3.7版本,歡迎大家下載最新版本並比較。 一:Su

Webstorm2017安裝以及破解

一.安裝 1.下載Webstorm安裝包,這裡提供2017版本 失效請留言 2.雙擊exe檔案執行 2.點選next,選擇安裝路徑,並點選next 3.選擇安裝64位還是32位;是否關聯js、css、html檔案;是否下載jre 建議選上,這樣可以省去

bootstrap之daterangepicker---以及擴展

組件 tro div time 事件 r.js 日期 功能 date 一、擴展的功能 1、初始化時,會自動創建一個select標簽; 2、當改變select值時,日期也會自動改變,並且會調用apply按鈕的click事件 3、點擊此處進行

Axure RP 9 Beta 開放下載(更新激活密鑰包)

color 快速 col 文件解壓 表單 播放器 svg dpa 文件 2018年9月9號,7月9號來廈門入職,已經兩個月了。這兩個月的生活狀態真心不好,一方面工作很忙(剛工作是這樣?),雖然工資還可以,但總感覺性價比很低,自已對這份工作不夠熱愛也許。另一方面,來到新

eclipse的安裝

.org 可擴展 解壓 雙擊 develop 需要 目錄 標準 技術分享 eclipse是一個開放源代碼的、基於Java的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發

一、【用django2.0來開發】 環境部署初始項目

text pro use name 支持 art 簡易 發布 server 一、【用django2.0來開發】 環境部署和初始化項目 發現網上沒有什麽比較好的django系列的教程, 所以打算寫一整套教程來教會大家如何使用django2.0 整個教程都會圍繞一個開發一個項目

Eclipse取消以及設定語言的方法

如圖,可以看到,我這裡是漢化過的Eclipse。下面我們開始取消漢化。 找到Eclipse的安裝路徑,用記事本開啟eclipse.ini檔案。 在檔案最後加上-Duser.language=en。 大功告成,重新開啟Eclipse,我們發現已經變成英文版的

Android Studio, CLion, GoLand, IntelliJ IDEA, PhpStorm, PyCharm, RubyMine, WebStorm以及後設置不能開啟問題

漢化之後有可能會出現設定不能開啟的問題,是因為漢化包出錯了 CSDN上一堆要求C幣下載的漢化包,又不是他自己原創的 以下所有漢化包轉載自https://www.pingfangx.com/xx/translation。 Android Studio 3.0-3.1.3漢化包CLion 2

Visual stuio Code 以及常用外掛

Visual stuio Code漢化 第一種方法:下載語言包 外掛 輸入“Chinese” ,安裝外掛 “Chinese (Simplified) Language Pack for Visual Studio Code” 點選最後一個圖示呀 然後輸入chinese

Git的安裝

安裝Git 在安裝之前,首先需要搭建使用Git的環境。您可以選擇Windows(GUI)、Mac(GUI)、或命令列(主控臺)作為安裝Git的環境。下面將根據各個環境進行講解。 如果您是開發人員或者習慣了使用命令列,可以試著用命令列來操作Git。 請選擇您使用的電腦系統

jmeter 4.0下載安裝步驟

一.jdk8下載和安裝成功 注意:安裝jmeter4.0版本之前,需要先安裝jdk 二.官網下載jmeter安裝zip包,直接解壓到電腦任意硬碟: (一)jmeter官網地址:https://jmeter.apache.org  點選開啟連結 (二)官網直接下載

【Axure】Axure RP 9 下載、破解安裝步驟

目錄 一、Axure RP 9 下載 二、Axure RP 9 安裝 三、Axure RP 9 破解 四、Axure RP 9 漢化 一、Axure RP 9 下載 (1)最新版本 Axure RP 9 下載地址:點選前往下載 (2)漢化包下載、歷史

Axure RP安裝破解以及釋出到至AxureShare

Licensee:University of Science and Technology of China (CLASSROOM) Key:DTXRAnPn1P65Rt0xB4eTQ+4bF5IUF0gu0X9XBEUhM4QxY0DRFJxYEmgh4n

C# 建立、部署呼叫WebService的簡單示例

webservice 可以用於分散式應用程式之間的互動,和不同程式之間的互動。 概念性的東西就不說太多,下面開始建立一個簡單的webservice的例子。這裡我用的是Visual Studio 2015開發工具。 首先建立一個空的Web應用程式。 然後滑鼠右

xutils3的初始以及簡單使用

1、依賴xutils3相關依賴包 使用Android studio開發工具對xutils3的依賴有三種方法,一種是新增module,一種是新增本地jar包,一種是直接依賴網上依賴庫中的檔案,前兩種是需要將xutils相關的檔案下載到本地,然後在做一系列的關聯,以及修改,本人

聊聊MVC模組以及MVVM元件

原文連結 小寒的部落格,帶你理解更深的世界 面向物件,模組化和MVC 面向物件是指把寫程式對映到現實生活,從而一來邏輯性更強,更容易寫好程式碼,二來程式碼很貼切,通俗易懂,更被人理解,三來更加容易拓展和管理程式碼。 我們的程式碼設計應該有很多人,事物和場景,人是管理員,事物是資料庫,場景就是業務。 &

【jmeter】jmeter 4.0下載安裝步驟

目錄 一.jdk8下載和安裝成功 注意:安裝jmeter4.0版本之前,需要先安裝jdk8或10,可參照我的另一博文:【jdk】jdk8下載和安裝: 博文地址:https://blog.csdn.net/qq_39720249/article/det