Gitlab的部署以及應用linux
GitLab簡介nginx
GitLab是一個用於倉庫管理系統的開源項目,使用Git做爲代碼管理工具,它也是一個自託管的Git項目倉庫,是集代碼託管,測試,部署於一體的開源git倉庫管理軟件,可經過web界面來進行訪問公開的或私人項目。現階段的大小企業都在使用gitlab來測試發佈代碼。GitLab提供的不只僅是線上的,強大的它能可讓用戶本身部署,發佈本身的項目,這一點是github上沒有的。git
Git的分支有不少,從發展到如今,已經從只是一個簡單的工具(如git),發展成了庫(如gitlib,github),一直又延生到軟件系統等等(如gitlab),說明git的做用很是重要,這是毋庸置疑的。github
廢話很少說,接下來咱們來安裝gitlab,實現本身的git倉庫管理,安裝gitlab官網上也說明了須要的linux配置比較高點,至少4GB的可內存(RAM交換)來安裝和使用GitLab。接下來咱們須要手動安裝,你也能夠安裝官網的來安裝,不過我的不是很推薦。官網安裝地址https://about.gitlab.com/installation/#centos-7web
手動安裝(centos7):vim
1、gitlab的安裝centos
1、安裝依賴包:bash
#yum install -y curl policycoreutils openssh-server openssh-clients
2、安裝郵件服務,postfix設置開機啓動,postfix支持gitlab發信功能。ssh
#yum install -y postfix #systemctl enable postfix #systemctl start postfix
注意:curl
若是是開啓防火牆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
訪問頁面,發現已經漢化成功了。
3、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
4、常見錯誤以及解決辦法
在訪問gitlab的時候咱們會發現會有502的錯誤,究竟是什麼緣由
解決辦法:
1、權限問題
Gitlab文件須要給予讀寫的權限
解決辦法
#chmod -R 755 /var/log/gitlab
二、端口問題
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
三、內存不足的問題
安裝gitlab的時候,已經說明你的空餘內存須要有4G左右的內存,因此在安裝gitlab的時候,請給足內存,再安裝。
4、總結
學會gitlab的常規安裝以及應用和排錯,gitlab的應用更github差很少,搭建完就後咱們須要進一步的使用git的常規命令操做,更好的使用gitlab。