同步首發:http://www.yuanrengu.com/index.php/20171112.html
一.GitLab簡介
GitLab是利用Ruby On Rails開發的一個開源版本管理系統,實現了一個自托管的Git項目倉庫,是集代碼托管,測試,部署於一體的開源git倉庫管理軟件,可通過web界面來進行訪問公開的或私人項目。與Github類似,GitLab能夠瀏覽代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本,並提供一個文件歷史庫。它還提供一個代碼片段收集功能可以輕松實現代碼復用,便於日后需要的時候查找。
Git的家族成員:
- Git:是一種版本控制系統,是一個命令,是一種工具。
- Gitlib:是用於實現Git功能的開發庫。
- Github:是一個基於Git實現的在線代碼托管倉庫,公開項目是免費的,也可以付費創建私人項目。
- GitLab:是一個基於Git實現的在線代碼倉庫托管軟件,可以用GitLab搭建一套類似Github的系統。
GitLab對硬件還是有一定要求的,1核心的CPU基本上可以滿足需求,大概支撐100個左右的用戶,不過在運行GitLab網站的同時還需要運行多個后台job,就會顯得有點捉襟見肘了。需要至少4GB的可尋址內存(RAM交換)來安裝和使用GitLab,操作系統和任何其他正在運行的應用程序也將使用內存,因此請記住,在運行GitLab之前,您至少需要4GB的可用空間。如果使用更少的內存,GitLab將在重新配置運行期間給出奇怪的錯誤,我用虛擬機來分別新建1G,2G內存的CentOS系統來裝GitLab,確實非常捉襟見肘啊,傷不起。
二.GitLab的安裝
1.在CentOS系統上,下面的命令將會打開系統防火牆HTTP和SSH訪問。
sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld
2.添加GitLab鏡像源並安裝
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
這是官方的yum源,安裝速度會比較慢,可以使用國內源,修改如下文件即可:
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
然后執行:
sudo yum install gitlab-ce #配置並啟動 GitLab sudo gitlab-ctl reconfigure
安裝成功會有如下提示:
3.第一次訪問GitLab,系統會重定向頁面到重定向到重置密碼頁面,你需要輸入初始化管理員賬號的密碼,管理員的用戶名為root,初始密碼為5iveL!fe。重置密碼后,新密碼即為剛輸入的密碼。
三.GitLab的漢化
成功安裝GitLab后,很多朋友會想到漢化,當然如果團隊里英文水平都不錯的話,是沒必要漢化的。
GitLab中文社區的項目,v7-v8.8是由Larry Li發起的“GitLab中文社區版項目”(https://gitlab.com/larryli/gitlab),從v8.9之后由@xhang開始繼續漢化項目(https://gitlab.com/xhang/gitlab)。
mkdir /home/local/gitlab cd /home/local/gitlab
如沒安裝git,需提前安裝:
yum install -y git
下載最新的漢化包:
git clone https://gitlab.com/xhang/gitlab.git
如果是要下載老版本的漢化包,需要加上老版本的分支,如果想下載10.0.2,可以運行如下語句:
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
停止GitLab並執行如下語句:
gitlab-ctl stop
cp /home/local/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/ -rf
復制時可能不斷提示是否要覆蓋,這時可能是系統每次執行cp命令時,其實是執行了cp -i命令的別名。出現這種情況可以修改~/.bashrc,在“alias cp=’cp-i’”前加#注釋即可。
復制可能出現如下提示,可以不用理會。
注釋后記得執行:
source ~/.bashrc
或者重啟即可。
接下來可以重新配置和啟動:
sudo gitlab-ctl reconfigure sudo gitlab-ctl restart
成功漢化后的界面如下:
四.GitLab的命令
語法:
gitlab-ctl command (subcommand)
Service Management Commands |
|
start |
啟動所有服務 |
stop |
關閉所有服務 |
restart |
重啟所有服務 |
status |
查看所有服務狀態 |
tail |
查看日志信息 |
service-list |
列舉所有啟動服務 |
graceful-kill |
平穩停止一個服務 |
例子:
#啟動所有服務 [root@gitlab ~]# gitlab-ctl start #啟動單獨一個服務 [root@gitlab ~]# gitlab-ctl start nginx #查看日志,查看所有日志 [root@gitlab ~]# gitlab-ctl tail #查看具體一個日志,類似tail -f [root@gitlab ~]# gitlab-ctl tail nginx
General Commands |
|
help |
幫助 |
reconfigure |
修改配置文件之后,需要重新加載下 |
show-config |
查看所有服務配置文件信息 |
uninstall |
卸載這個軟件 |
cleanse |
刪除gitlab數據,重新白手起家 |
例子:
#顯示所有服務配置文件
[root@gitlab ~]#gitlab-ctl show-config #卸載gitlab [root@gitlab ~]#gitlab-ctl uninstall
五.QQ郵箱配置
默認情況下,GitLab用qq郵箱注冊是發不出確認郵件的。查看了網上很多郵箱配置的教程,大部分都是誤導的。
像這類軟件,歸根到底總結為一句話:一切以官網文檔為准。
qq郵箱最好用企業郵箱,本人用個人郵箱進行測試是有些小問題的。
正確配置如下:
# vim /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxxx@xx.com" gitlab_rails['smtp_password'] = "password" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
大家如果在安裝和使用的過程有遇到什么問題,可以在我的個人博客里留言,希望對大家有些許幫助。
參考:https://www.gitlab.cc/installation/#centos-7
https://yq.aliyun.com/articles/74395