1. gitlab的安裝:html
直接參考官網文檔:https://about.gitlab.com/downloads/#ubuntu1604。nginx
1.1 安裝配置依賴環境:git
sudo apt-get install curl openssh-server ca-certificates postfix
1.2 安裝Gitlab:web
可分如下兩種狀況:直接安裝最新版本和選擇安裝所需版本。redis
1.2.1 直接安裝最新版本:sql
若是沒有版本要求,選擇直接安裝最新便可。apache
#[-s去掉,可顯示下載的詳細信息] curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce
1.2.2 選擇安裝所需版本:ubuntu
在gitlab遷移時,須要保證兩個gitlab之間版本一致,故gitlab遷移時最好選擇這種方式(雖然還能夠選擇將原始gitlab升級到最新版本,再將數據備份,而後遷移,但這樣風險太大,在升級過程當中可能會發生故障,致使數據丟失。因此儘可能不要動原始的gitlab,先進行數據備份,而後選擇安裝一個和舊版本一致gitlab進行安裝,再作數據遷移;遷移以後能夠再選擇升級,即便新gitlab掛掉,還有一個可用的舊gitlab)。vim
首先查看舊gitlab版本(在gitlab運行狀態下)(參考:http://stackoverflow.com/questions/21068773/checking-of-gitlab-version):segmentfault
sudo gitlab-rake gitlab:env:info
上圖中間GitLab information中的版本即爲gitlab的版本。
[官網:http://docs.gitlab.com/omnibus/manual_install.html
https://packages.gitlab.com/gitlab/gitlab-ce
https://packages.gitlab.com/app/gitlab/gitlab-ce/search?q=8.11.5
]
在這裏拿gitlab8.11.5版本舉例說明:
========================================================[強勢的分隔線]---開始
========================================================[強勢的分隔線]
最近外網被qiang,選擇使用清華鏡像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
注意: gitlab-ce 鏡像僅支持 x86-64 架構
Debian/Ubuntu 用戶
首先信任 GitLab 的 GPG 公鑰:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
再選擇你的 Debian/Ubuntu 版本,文本框中內容寫進 /etc/apt/sources.list.d/gitlab-ce.list
sudo vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list
選擇Ubuntu的版本:
#Ubuntu 14.04 LTS deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main #Ubuntu 16.04 LTS deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
將鏡像站放到開始位置![此處演示的Ubuntu 14.04 LTS]
安裝 gitlab-ce:
sudo apt-get update sudo apt-get install gitlab-ce=8.11.5-ce.0
========================================================[強勢的分隔線]
========================================================[強勢的分隔線]---結束
#[-s去掉,可顯示下載的詳細信息] curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce=8.11.5-ce.0
或者
ubuntu14中gitlab的鏡像安裝包:
curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce-8.11.5.deb/download dpkg -i gitlab-ce-8.11.5.deb
1.3 配置啓動gitlab: [Mark Fletcher 說,修改配置以後,須要從新執行該命令]
sudo gitlab-ctl reconfigure
查看服務狀態:
sudo gitlab-ctl status
中止服務:
gitlab-ctl stop
啓動服務:
gitlab-ctl start
#查看全部服務的日誌信息 sudo gitlab-ctl tail
# 檢查redis的日誌 sudo gitlab-ctl tail redis # 檢查postgresql的日誌 sudo gitlab-ctl tail postgresql # 檢查gitlab-workhorse的日誌 sudo gitlab-ctl tail gitlab-workhorse # 檢查logrotate的日誌 sudo gitlab-ctl tail logrotate # 檢查nginx的日誌 sudo gitlab-ctl tail nginx # 檢查sidekiq的日誌 sudo gitlab-ctl tail sidekiq # 檢查unicorn的日誌 sudo gitlab-ctl tail unicorn
1.4 web登陸並配置:
瀏覽器地址中輸入http://[ip地址]。
若有其餘問題可參考:http://blog.csdn.net/discoverer100/article/details/51814171
2. gitlab卸載:[貌似有些版本很差使]
前提:必須在Gitlab運行狀態下才能卸載。
# Stop gitlab and remove its supervision process sudo gitlab-ctl uninstall # Debian/Ubuntu sudo dpkg -r gitlab-ce # Redhat/Centos # sudo rpm -e gitlab-ce
3. 備份:(參考:http://www.javashuo.com/article/p-tnswkclv-cu.html)
3.1 建立備份:
gitlab-rake gitlab:backup:create
命令會在/var/opt/gitlab/backups
目錄下建立一個名稱相似爲1393513186_gitlab_backup.tar
的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1393513186
是備份建立的日期.
注:該目錄,只能在gitlab中止運行狀態下,才能夠切換進去。
你也能夠經過修改/etc/gitlab/gitlab.rb
來修改默認存放備份文件的目錄:
gitlab_rails['backup_path'] = '/mnt/backups'
/mnt/backups
修改成你想存放備份的目錄便可, 修改完成以後使用gitlab-ctl reconfigure
命令重載配置文件便可.
4. Gitlab 恢復:
# 中止相關數據鏈接服務 sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq # 從1393513186編號備份中恢復 sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186 # 啓動Gitlab sudo gitlab-ctl start
5. Gitlab遷移:
遷移如同備份與恢復的步驟同樣, 只須要將老服務器/var/opt/gitlab/backups
目錄下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups
便可(若是你沒修改過默認備份目錄的話)。 而後執行上述恢復命令。
可是須要注意的是新服務器上的Gitlab的版本必須與建立備份時的Gitlab版本號相同. 好比新服務器安裝的是最新的7.60版本的Gitlab, 那麼遷移以前, 最好將老服務器的Gitlab 升級爲7.60在進行備份.
6. Gitlab服務器IP地址設置:
修改Gitlab服務器地址,讓其餘用戶能夠直接訪問。
修改gitlab.yml文件:( 該文件默認位於/opt/gitlab/embedded/service/gitlab-rails/config目錄之下)
以下圖(可參考:http://blog.csdn.net/yulei_qq/article/details/53134654):
重啓GitLab:
sudo gitlab-ctl restart