一、GitLab簡介
GitLab 是一個用於倉庫管理系統的開源項目。使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。團隊成員可以利用內置的簡單聊天程序(Wall)進行交流。它還提供一個代碼片段收集功能可以輕松實現代碼復用。
常用的網站:
國內鏡像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
安裝環境:
1、 CentOS 6或者7
2、 2G內存(實驗)生產(至少4G)
3、 安裝包:gitlab-ce-10.0.6-ce
4、 禁用防火牆,關閉selinux
二、GitLab安裝
1、安裝依賴
sudo yum install -y curl policycoreutils-python openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix
2、獲取rpm包管理倉庫並安裝
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
安裝其他版本可以去鏡像下載對應版本安裝 [root@wen src]# cd /usr/local/src/ [root@wen src]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.6-ce.0.el7.x86_64.rpm [root@wen src]# rpm -ivh gitlab-ce-10.0.6-ce.0.el7.x86_64.rpm
3、配置
修改配置文件:/etc/gitlab/gitlab.rb 修改external_url 的地址為:"http://10.0.0.200" 或域名"http://gitlab.wenyule.com" #注意要加引號 修改完主配置文件后,使用 gitlab-ctl reconfigure 重新配置gitlab
4、啟動
重新配置gitlba后,在瀏覽地址欄中輸入http://10.0.0.200
第一次登陸需要設置密碼
配置root用戶的密碼,完成后進入系統:
設置中心可以設置中文
至此的GitLab安裝已經完成
gitlab 可以個性化設置很多,設置登錄封面,logo,登錄選項.....
Gitlab Shell
Gitlab Shell有兩個作用:
為Gitlab處理Git命令、修改authorizedkeys列表。 當通過SSH訪問Gitlab Server時,Gitlab Shell會限制執行預定義好的Git命令(git push,git pull,gitannex)
調用Gitlab Rails API檢查權限執行pre-receive鈎子(在GitLab企業版中叫做Git鈎子)執行你請求的動作處理GitLab的post-receive動作。
處理自定義的post-receive動作當通過http(s)訪問Gitlab Server時,工作流程取決於你是從Git倉庫拉取(pul)代碼還是向git倉庫推送(push)代碼。 如果你是從Git 倉庫拉取(pull代碼,Gitlab Rails應用會全權負責處理用戶鑒權和執行Git命令的工作; 如果你是向Git 倉庫推送(push)代碼,Gitlab Rails 應用既不會進行用戶鑒權也不會執行Git命令,它會把以下工作交由Gitlab Shell進行處理:調用GitabRails ApI檢查權限。執行pre-receive鈎子(在Gitlab企業版中叫做Git鈎子)。
執行你請求的動作處理GitLab的post-receive動作處理自定義的post-receive動作 /usr/local/src/ gitlab-ctl reconfigure # 只要修改/etc/gitlab/gitlab.rb 就需要重新配置 gitlab-ctl tail restart [option] status
GITLAB備份管理
#配置文件中加入 gitlab rails['backup path']='/data/backup/gitlab' gitlab rails['backup keep time']=604800 # 以秒計算 #如果自定義備份目錄需要賦予git權限 mkdir /data/backup/gitlab chown -R git.git /data/backup/gitlab /usr/bin/gitlab-rake gitlab:backup:create #執行備份 #定時任務Crontab中加入 0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
GITLAB數據恢復
#停止數據寫入服務 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-rake gitlab:backup:restore BACKUP=1512811475_2017_12_09_10.2.2 gitlab-ctl restart 把先關服務 rpm -uvp xxxxxx.rpm 升級gitlab 最好不要升級。真要升級采用數據導入的