溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Gitlab的安裝搭建

發(fā)布時間:2020-06-16 01:31:08 來源:網(wǎng)絡 閱讀:290 作者:R醬 欄目:系統(tǒng)運維

一、簡介

git
git 是一種開源的版本控制系統(tǒng),可以高效的管理項目版本。同時也是一個版本控制軟件。

GitHub
GitHub 是一個面向開源及私有軟件項目的托管平臺。GitHub可以托管各種Git庫,并提供web界面。

GitLab
GitLab 是一個用于倉庫管理系統(tǒng)的開源項目,使用git進行代碼管理工具,可以自己搭建GitLab倉庫服務器。


GitLab:是一個基于Git實現(xiàn)的在線代碼倉庫托管軟件,你可以用gitlab自己搭建一個類似于Github一樣的系統(tǒng),一般用于在企業(yè)、學校等內(nèi)部網(wǎng)絡搭建git私服。
功能:Gitlab 是一個提供代碼托管、提交審核和問題跟蹤的代碼管理平臺。對于軟件工程質(zhì)量管理非常重要。
版本:GitLab 分為社區(qū)版(CE) 和企業(yè)版(EE)。
配置:建議CPU2核,內(nèi)存2G以上。

優(yōu)點:
1.git是分布式的,svn不是
git分布式本地就可以用,可以隨便保存各種歷史痕跡,不用擔心污染服務器,連不上服務器也能提交代碼、查看log。
2.GIT分支和SVN的分支不同
分支在SVN中實際上是版本庫中的一份copy,而git一個倉庫是一個快照,所以git 切換、合并分支等操作更快速。
3.git有一個強大的代碼倉庫管理系統(tǒng) - gitlab
可以很方便的管理權限、代碼review,創(chuàng)建、管理project

倉庫數(shù)據(jù)位置:ls /var/opt/gitlab/git-data/repositories/

二、參數(shù)及操作
1.下載官方y(tǒng)um源,yum install gitlab 清華大學鏡像源:
https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
安裝依賴項
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
啟動postfix,并設置為開機啟動?
systemctl start postfix
systemctl enable postfix
設置防火墻?(可忽略)

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
Gitlab-ctl reconfigure 重載
Gitlab-ctl restart 重啟
查看版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 11.3.6

2.更改默認端口
使用gitlab內(nèi)置的nginx,修改nginx默認端口,從80變?yōu)?2。
由于這時候進行了上述的配置,因此,修改下列文件會改變默認值。同時,如果重新運行gitlab-ctl reconfigure,修改并不會被覆蓋。

Gitlab的安裝搭建

更改默認監(jiān)聽8080為8082
gitlab_workhorse['auth_backend'] = "http://localhost:8082"
unicorn['port'] = 8082#原值unicorn['port'] = 8080

vi /var/opt/gitlab/nginx/conf/gitlab-http.conf 這里要和上述一直哦
listen :82; #默認值listen :80;

4.使用gitlab內(nèi)置nginx,把修改unicorn的默認端口從8080改為8082。即nginx監(jiān)聽的rails端口,類似php-fpm
vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:8082", :tcp_nopush => true
#原值listen "127.0.0.1:8080", :tcp_nopush => true

Gitlab-ctl restart
30秒后訪問 否則502或404

5.漢化:
1.查看gitlab版本cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
2.下載對應漢化包https://gitlab.com/xhang/gitlab
3.解壓并進入漢化包目錄查看版本 cat gitlab-11-1-stable-zh/VERSION
4.先備份防止?jié)h化失敗及時修復cp -r /opt/gitlab/embedded/service/gitlab-rails/ /home/test/bak
5.查看別名 alias 注意alias cp=cp -i
6.vim ~/.bashrc注銷掉cp -i(完事之后改回來)
7.\cp -rf gitlab-11-2-stable-zh/
/opt/gitlab/embedded/service/gitlab-rails/
7.重載重啟 gitlab-ctl reconfigure gitlab-ctl restart

6.備份設置
#每天備份,7天后刪除7天以前的備份
###gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#604800秒 7天后刪除之前的
gitlab_rails['backup_keep_time'] = 604800

7.命令解釋
Gitlab的安裝搭建

502錯誤 404
1.思路
一般如果是剛重啟完服務那就等1分鐘,一定要看nginx 日志還有gitlab狀態(tài)(gitlab-ctl status),查看/etc/gitlab配置文件 的端口占用情況
2.解決
gitlab-ctl restart sidekiq?
gitlab-ctl hup unicorn?

3.clone時提示warning: templates not found /usr/share/git-core/templates
創(chuàng)建這個目錄即可

4.git clone shh...時提示輸入git密碼
檢查公鑰文件和authorized_keys是否和公鑰一致
然后再嘗試添加ssh-add ~/.ssh/45id_rsa
5.ssh_exchange_identification: read: Connection reset by peer
fatal: Could not read from remote repository.
注意/etc/hosts.deny這個文件是不是自己的IP在里面被拒絕了!

如果在Git克隆上,系統(tǒng)會提示您輸入密碼,例如git@gitlab.com's password:
SSH設置有問題。mie
確保您正確生成了SSH密鑰對,并將公共SSH密鑰添加到了GitLab配置文件
嘗試使用ssh-agent本文檔前面所述的方法手動注冊您的私有SSH密鑰
嘗試通過運行來調(diào)試連接ssh -Tv git@example.com
(替換example.com為您的GitLab域)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI