Gitlab的部署以及應用
GitLab簡介
GitLab是一個用於倉庫管理系統的開源項目,使用Git作爲代碼管理工具,它也是一個自託管的Git項目倉庫,是集代碼託管,測試,部署於一體的開源git倉庫管理軟件,可通過web界面來進行訪問公開的或私人項目。現階段的大小企業都在使用gitlab來測試發佈代碼。GitLab提供的不僅僅是線上的,強大的它能可以讓用戶自己部署,發佈自己的項目,這一點是github上沒有的。
Git的分支有很多,從發展到現在,已經從只是一個簡單的工具(如git),發展成了庫(如gitlib,github),一直又延生到軟件系統等等(如gitlab),說明git的作用非常重要,這是毋庸置疑的。
廢話不多說,接下來我們來安裝gitlab,實現自己的git倉庫管理,安裝gitlab官網上也說明了需要的linux配置比較高點,至少4GB的可內存(RAM交換)來安裝和使用GitLab。接下來我們需要手動安裝,你也可以安裝官網的來安裝,不過個人不是很推薦。官網安裝地址https://about.gitlab.com/installation/#centos-7
手動安裝(centos7):
一、gitlab的安裝
1、安裝依賴包:
#yum install -y curl policycoreutils openssh-server openssh-clients
2、安裝郵件服務,postfix設置開機啓動,postfix支持gitlab發信功能。
#yum install -y postfix #systemctl enable postfix #systemctl start postfix
注意:
如果是開啓防火牆firewall,需要以下配置
#firewall-cmd --permanent --add-service=http #systemctl reload firewalld
3、使用國內源,添加GitLab鏡像源並安裝。
#vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
添加內容如下:
[gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https://packages.gitlab.com/gpg.key
baseurl源有很多,如果你的是centos6的話,可把下載地址改成https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6 就可以了。
4、安裝gitlab
#yum install gitlab-ce
安裝成功如下:
5、配置啓動gitlab
進入gitlab.rb配置文件,配置ip與端口一般配置格式爲(external_url 'http://ip或者域名:端口'),如下圖所示:
注意得是gitlab默認端口是8080,所以配置的時候需要查看(netstat -ntpl)端口是否被佔用
# vim /etc/gitlab/gitlab.rb
啓用gitlab
#gitlab-ctl reconfigure
啓動時間比較久,成功如下:
查看端口http服務是否起來了
我這裏可以發現已經是起來了。
6、訪問gitlab
第一次訪問GitLab,系統會重定向頁面到重定向到重置密碼頁面,你需要輸入初始化管理員賬號的密碼,管理員的用戶名爲root,初始密碼爲5iveL!fe。
登陸後會提示一個登陸界面,這個界面是用來更改你的密碼,如下圖所示:
更完密碼後,會跳轉到登陸頁面,我們直接登錄就可以了
用戶:root
密碼:(更改密碼)
之後我們就可以登錄到我們直接的gitlab了
二,gitlab漢化配置
漢化一般是適合看英文不習慣的。
安裝git
#yum install -t git #mkdir /usr/local/gitlab #cd /usr/local/gitlab
下載最新的漢化包:
#git clone https://gitlab.com/xhang/gitlab.git
停止GitLab並執行如下語句:
#gitlab-ctl stop #cp -rf /usr/local/gitlab/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/
複製時可能不斷提示是否要覆蓋,這時可能是系統每次執行cp命令時,其實是執行了cp -i命令的別名。出現這種情況可以修改/root/.bashrc,把 “alias cp=’cp-i’改爲“alias cp=’cp’即可。
註釋後記得執行:
#source /root/.bashrc
或者你也可以直接使用rsync來同步
#rsync -avz /usr/local/gitlab/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/
接下來可以重新配置和啓動:
# gitlab-ctl reconfigure # gitlab-ctl restart
訪問頁面,發現已經漢化成功了。
三、gitlab常規維護命令
l 查看gitlab的狀態
#gitlab-ctl status
l 啓動gitlab所以組件
#gitlab-ctl start
l 也可以單獨啓動某個服務比如nginx
#gitlab-ctl start nginx
l 停止gitlab所有服務
#gitlab-ctl stop
l 重啓gitlab所有服務
#gitlab-ctl restart
l 查看gitlab所有服務的日誌信息
#gitlab-ctl tail
l 查看某個服務的信息。
#gitlab-ctl tail nginx
l 查看啓動的服務
#gitlab-ctl service-list
l 更改gitlab文件配置
#vim /etc/gitlab/gitlab
l Gitlab的nginx目錄
#cd /var/opt/gitlab/nginx/
l Gitlab的nignx日誌目錄
#cd /var/log/gitlab/nginx/ 或者 #cd /var/opt/gitlab/nginx/logs
l Gitlabc查看所有服務的配置文件
#gitlab-ctl show-config
l Gitlab的卸載
#gitlab-ctl uninstall
四、常見錯誤以及解決辦法
在訪問gitlab的時候我們會發現會有502的錯誤,到底是什麼原因
解決辦法:
1、權限問題
Gitlab文件需要給予讀寫的權限
解決辦法
#chmod -R 755 /var/log/gitlab
2、端口問題
Gitlab的默認啓動端口是80,8080,所以有肯能會與其他的端口產生衝突,所以需要修改文件。
#vim /etc/gitlab/gitlab.rb
更改參數
external_url 'http://localhost:8888' #指定訪問端口,默認是80
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8001 # 爲unicorn worker的工作端口,默認爲8080,如果你的8080端口被佔用的,這一項需要更改。
重啓gitlab
#gitlab-ctl reconfigure #gitlab-ctl restart
3、內存不足的問題
安裝gitlab的時候,已經說明你的空餘內存需要有4G左右的內存,所以在安裝gitlab的時候,請給足內存,再安裝。
四、總結
學會gitlab的常規安裝以及應用和排錯,gitlab的應用更github差不多,搭建完就後我們需要進一步的使用git的常規命令操作,更好的使用gitlab。