Ubuntu 14.04下安裝Gitlab

GitLabhtml

GitLab 是一個用於倉庫管理系統的開源項目。使用Git做爲代碼管理工具,並在此基礎上搭建起來的web服務。它提供Git版本控制、代碼檢查、Bug跟蹤和Wiki,它能夠經過LDAP或活動目錄來進行安全認證和受權。單個GitLab能夠支持25000個用戶,同時它也能夠經過設置多臺服務器來實現其高可用性。nginx

 

按照官方文檔:git

https://packages.gitlab.com/gitlab/gitlab-ce/install web

https://packages.gitlab.com/gitlab/gitlab-ce   [命令行下apt-get或者aptitude超時]ubuntu

 

安裝對應的依賴並安裝對應版本:api

sudo apt-get install curl openssh-server ca-certificates postfix 安全

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash ruby

sudo apt-get update && sudo apt-get install gitlab-ce=7.11.4~omnibus-1bash

上面操做會出現超時,直接使用給出的連接下載對應的deb服務器

sudo wget -c https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab-ce_7.11.4~omnibus-1_amd64.deb(比較慢,建議使用迅雷下載上傳)

sudo dpkg –I  gitlab-ce_7.11.4~omnibus-1_amd64.deb

 

配置並開啓gitlab

sudo gitlab-ctl reconfigure

 

配置郵箱,URL:

#下面必定要添加「=」,GitLab自動生成時是沒有這個等號的,結果獲得"External URL must include a FQDN"這樣的錯誤提示

external_url="www.hostname.com"

# 若是沒有安裝PostfixSendmail這類郵件服務的話,那麼就須要象郵件客戶端那樣根據SMTP服務器的參數來設置如下的內容了

gitlab_rails['gitlab_email_from'] = 'my.email@gmail.com'

gitlab_rails['gitlab_email_reply_to'] = 'my.email@gmail.com'


gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.gmail.com"

gitlab_rails['smtp_port'] = 587

gitlab_rails['smtp_user_name'] = "my.email@gmail.com"

gitlab_rails['smtp_password'] = "my-gmail-password"

gitlab_rails['smtp_domain'] = "smtp.gmail.com"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['smtp_openssl_verify_mode'] = 'peer' 

#Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html

郵箱配置參考:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md 

 

啓用註冊:

/etc/gitlab/gitlab.rb 文件中添加: gitlab_rails['gitlab_signup_enabled'] = true

 

測試:

Username: root

Password: 5iveL!fe

 

完整的Gitlab備份:

使用一條命令便可建立完整的Gitlab備份:

gitlab-rake gitlab:backup:create

使用以上命令會在/var/opt/gitlab/backups目錄下建立一個名稱相似爲1296213186_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1393513186是備份建立的日期.

 

Gitlab 修改備份文件默認目錄

你也能夠經過修改/etc/gitlab/gitlab.rb來修改默認存放備份文件的目錄:

gitlab_rails['backup_path'] = '/mnt/backups'

 

Gitlab 自動備份

也能夠經過crontab使用備份命令實現自動備份:

sudo /bin/su - root

crontab -e

加入如下, 實現天天凌晨2點進行一次自動備份:

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

 

Gitlab 恢復

一樣, Gitlab的從備份恢復也很是簡單:

# 中止相關數據鏈接服務

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

 

# 1296213186編號備份中恢復

gitlab-rake gitlab:backup:restore BACKUP=1296213186 #backups目錄下只有一個備份文件時使用  

(根據/var/opt/gitlab/backups下的備份來肯定)

 

啓動Gitlab

sudo gitlab-ctl start

 

Gitlab遷移

遷移如同備份與恢復的步驟同樣, 只須要將老服務器/var/opt/gitlab/backups目錄下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups便可(若是你沒修改過默認備份目錄的話).

可是須要注意的是新服務器上的Gitlab的版本必須與建立備份時的Gitlab版本號相同. 好比新服務器安裝的是最新的7.60版本的Gitlab, 那麼遷移以前, 最好將老服務器的Gitlab 升級爲7.60在進行備份.

 

每次修改配置須要執行:

sudo gitlab-ctl reconfigure


外網經過http或者git訪問內網時,添加映射,須要修改nginx監聽端口與external_url後添加端口.

番外:SVN與Gitlab有什麼相同點與異同點?

相關文章
相關標籤/搜索