服務器環境
centos7.4
gitlab版本
gitlab-ce-11.2.5-ce.0.el7.x86_64.rpm
········【安裝步驟】········
1.安裝ssh
sudo yum install -y curl policycoreutils-pythonopenssh-server
2.將SSH服務設置成開機自啓動,安裝命令:
sudo systemctl enable sshd
3.啓動SSH服務,安裝命令:
sudo systemctl start sshd
4.添加http服務到firewalld
pemmanent表示永久生效,若不加–permanent系統下次啓動後就會失效。
sudo firewall-cmd --permanent --add-service=http
5.重啓防火牆
service iptables restart
6.接下來,安裝Postfix以發送通知郵件,安裝命令:
sudo yum install postfix
7.將postfix服務設置成開機自啓動
sudo systemctl enable postfix
8.啓動postfix
sudo systemctl start postfix
在安裝Postfix期間,可能會出現配置屏幕。選擇“Internet Site”並按enter鍵。
使用您的服務器的外部DNS以“mail name”並按enter。
如果出現額外的屏幕,繼續按enter鍵接受默認值。
9.wget 用於從外網上下載插件
檢查系統中是否已經安裝wget
wget -V
若報系統找不到命令說明wget未安裝
若wget未安裝則進行安裝,安裝命令:
yum -y install wget
10.安裝vim編輯器
yum install vim -y
11.添加gitlab鏡像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.2.5-ce.0.el7.x86_64.rpm
12.安裝gitlab
rpm -i gitlab-ce-11.2.5-ce.0.el7.x86_64.rpm
安裝過程需要些時間
可能會出現:
rpm -Uvh gitlab-ce-10.1.0-ce.0.el7.x86_64.rpm
warning: gitlab-ce-10.1.0-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
error: Failed dependencies:
policycoreutils-python is needed by gitlab-ce-10.1.0-ce.0.el7.x86_64
解決:安裝gitlab的依賴項
yum install policycoreutils-python
13.修改gitlab配置文件指定服務器ip和自定義端口:
vi /etc/gitlab/gitlab.rb
進入編輯器後按“i”鍵進入編輯狀態,ESC鍵退出編輯狀態
配置訪問地址
external_url 'http://ip:8088'
退出並保存,命令輸入“:wq”
ps:注意這裏設置的端口不能被佔用,默認是8080端口,如果8080已經使用,請自定義其它端口,並在防火牆設置開放相對應得端口
14.重置並啓動GitLab
gitlab-ctl reconfigure
gitlab-ctl restart
提示 "ok: run:"表示啓動成功
15.訪問 GitLab頁面
如果沒有域名,直接輸入服務器ip和指定端口進行訪問
初始賬戶: root 密碼:5iveL!fe
第一次登錄修改密碼
········【卸載步驟】········
1.停止gitlab
sudo gitlab-ctl stop
2.卸載gitlab
sudo rpm -e gitlab-ce
3.查看gitlab進程
ps -ef | grep gitlab
殺掉守護進程
kill -9 進程id
再次查看gitlab進程是否存在
4.刪除gitlab文件
find / -name gitlab|xargs rm -rf
刪除所有包含gitlab的文件及目錄
刪除gitlab-ctl uninstall時自動在root下備份的配置文件
·········【備份gitlab】·········
gitlab-rake gitlab:backup:create
使用以上命令會在/var/opt/gitlab/backups目錄下創建一個名稱類似爲
1502357536_2017_08_10_9.4.3_gitlab_backup.tar的壓縮包,
這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1502357536_2017_08_10_9.4.3是備份創建的日期
··········【遷移】············
前提是兩個gitlab版本一致
如果你沒修改過默認備份目錄的話,需要將老服務器上的備份文件目錄(/var/opt/gitlab/backups目錄)
下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups目錄
1.將備份文件權限修改爲777,不然可能恢復的時候會出現權限不夠,不能解壓的問題
chmod 777 1502357536_2017_08_10_9.4.3_gitlab_backup.tar
2.執行命令停止相關數據連接服務
停止相關數據連接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
3.執行命令從備份文件中恢復Gitlab
gitlab-rake gitlab:backup:restore BACKUP=備份文件編號
例如我們的備份文件的編號是1502357536_2017_08_10_9.4.3,因此執行下面的命令即可恢復gitlab
gitlab-rake gitlab:backup:restore BACKUP=1502357536_2017_08_10_9.4.3
兩次yes 後 在啓動
sudo gitlab-ctl start
·········【gitlab 漢化】···········
1.本地克隆gitlab 漢化版本庫
git clone https://gitlab.com/xhang/gitlab.git
2.生成補丁,進入到gitlab目錄下
[root@gitlab gitlab]# git diff v11.2.5 v11.2.5-zh> ../11.2.5-zh.diff
3.停止gitlab
gitlab-ctl stop
4.打補丁
【如果不是在服務器上克隆生成補丁,需要將補丁文件傳到gitlab安裝服務器上】
[root@gitlab gitlab]# patch -d/opt/gitlab/embedded/service/gitlab-rails -p1 < /home/11.2.5-zh.diff
PS:如果出現類似以下內容,則按住回車,一直跳過就行了
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/app/assets/javascripts/awards_handler.js b/app/assets/javascripts/awards_handler.js
|index eb0f06e..73e4833 100644
|--- a/app/assets/javascripts/awards_handler.js
|+++ b/app/assets/javascripts/awards_handler.js
--------------------------
File to patch:
5.然後啓動gitlab
gitlab-ctl start
········【gitlab 重置root密碼】········
1.登陸gitlab安裝的服務器,執行以下命令
gitlab-rails console production
2.然後按下面的示例操作即可
irb(main):001:0> user = User.where(id: 1).first
=> #<User id: 1, email: "[email protected]", ...
irb(main):002:0> user.password=12345678
=> 12345678
irb(main):003:0> user.password_confirmation=12345678
=> 12345678
irb(main):004:0> user.save!
=> true
irb(main):005:0> quit
說明一下:教程中沒有圖片是因爲是自己之前搭建操作的,搭建的時候只將命令記錄了下來,忘記了截圖,所以大家只要按照我發的命令一步步執行就可以了,有問題歡迎留言討論。
如果該文章有幫助到您,就留言點個贊吧!您的支持與肯定是我持續更新最大的動力。