14_Linux環(huán)境搭建GitLab服務(wù)器

近期想學(xué)習(xí)Git,公司目前都是使用的SVN,以下是學(xué)習(xí)搭建一個GitLab服務(wù)器的記錄總結(jié)。
轉(zhuǎn)載自http://www.reibang.com/p/b04356e014fa欺殿,稍作整理而來脖苏。

@Author Jacky Wang ,
轉(zhuǎn)載請注明出處 http://www.reibang.com/p/e51204f935c6

一定踱、Git及GitLab的介紹

1.1 Git的優(yōu)點

  • Git是分布式的,SVN不是

    Git分布式本地就可以用亦歉,可以隨便保存各種歷史痕跡畅哑,不用擔(dān)心污染服務(wù)器,連不上服務(wù)器也能提交代碼赛蔫、查看log
    
  • GIT分支和SVN的分支不同

    分支在SVN中實際上是版本庫中的一份copy,而git一個倉庫是一個快照鞠值,所以git 切換渗钉、合并分支等操作更快速鳄橘。
    如下圖。
    
1.png
  • Git有一個強大的代碼倉庫管理系統(tǒng) - GitLab
可以很方便的管理權(quán)限、代碼review宝磨,創(chuàng)建盅安、管理project

1.2 GitLab與GitHub的區(qū)別

GitLabGitHub一樣屬于第三方基于Git開發(fā)的作品,免費且開源窿祥。

不同的是蝙寨,GitLab是可以部署到自己的服務(wù)器上墙歪,數(shù)據(jù)庫等一切信息都掌握在自己手上,適合團(tuán)隊內(nèi)部協(xié)作開發(fā)靠胜。簡單來說可把GitLab看作個人版的GitHub毕源。

1.3 GitLab的介紹

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

1.3.1 Gitlab的服務(wù)構(gòu)成:

Nginx:靜態(tài)web服務(wù)器吁系。
gitlab-shell:用于處理Git命令和修改authorized keys列表白魂。(Ruby)
gitlab-workhorse: 輕量級的反向代理服務(wù)器。(go)

GitLab Workhorse是一個敏捷的反向代理蕴坪。它會處理一些大的HTTP請求背传,比如文件上傳台夺、文件下載、Git push/pull和Git包下載挺狰。其它請求會反向代理到GitLab Rails應(yīng)用买窟,即反向代理給后端的unicorn丰泊。

logrotate:日志文件管理工具。
postgresql:數(shù)據(jù)庫始绍。
redis:緩存數(shù)據(jù)庫瞳购。
sidekiq:用于在后臺執(zhí)行隊列任務(wù)(異步執(zhí)行)。(Ruby)
unicorn:An HTTP server for Rack applications亏推,GitLab Rails應(yīng)用是托管在這個服務(wù)器上面的学赛。(Ruby Web Server,主要使用Ruby編寫)

二年堆、GitLab服務(wù)器的搭建

2.1 環(huán)境配置

  1. 系統(tǒng):此次使用的是CentOS 7
  2. CPU:建議雙核以上
  3. 內(nèi)存:2GB(官方建議4GB以上)


    2.jpg

2.2 GitLab服務(wù)的安裝

2.2.1 使用yum安裝GitLab所需依賴

清華大學(xué)鏡像源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce

  1. 添加GitLab所需依賴庫
vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
內(nèi)容為:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
  1. 安裝GitLab所需依賴

    sudo yum -y install curl openssh-server openssh-clients postfix cronie
    sudo service postfix start
    sudo chkconfig postfix on
    sudo yum -y install lokkit
    #這句是用來做防火墻的,避免用戶通過ssh方式和http來訪問盏浇。
    sudo lokkit -s http -s ssh
    
  2. 安裝GitLab

    sudo yum makecache
    sudo yum -y install gitlab-ce
    sudo gitlab-ctl reconfigure  #Configure and start GitLab
    
3.png
  1. GitLab配置文件修改

    vim /etc/gitlab/gitlab.rb
    
    #外部訪問url(經(jīng)過編譯后,自動將這個配置編譯到nginx配置绢掰,nginx就無需配置了)
    external_url 'http://192.168.5.124'
    #默認(rèn)值就是8080痒蓬。如果端口被占用,可將8080修改為其它(例如:9090)
    unicorn['port'] = 8080
    
    ps:external_url就是最后也就是git資源的路徑滴劲,如:
     git@192.168.5.124:root/repo1.git
     http://192.168.5.124/root/repo1.git
    
  2. 配置域名(經(jīng)過第4步的配置這一步可省略攻晒,在gitlab-ctl reconfigure時會自動配置完畢)

    vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
    
    內(nèi)容:
    # 外網(wǎng)訪問的端口,如果服務(wù)器已經(jīng)有服務(wù)器占用了80班挖,那么這里可以改成其它
    listen *:80;
    server_name http://192.168.5.124;
        
    set $http_host_with_default "http://192.168.5.124";
    
    ps: 這里的server_name填寫服務(wù)器對應(yīng)的域名即可
    
  1. 修改密碼
gitlab-rails console production
user = User.where(id:1).first
user.password='12345678'
user.save!
exit
  1. 使修改的配置生效

    #使配置生效
    gitlab-ctl reconfigure
    #重新啟動GitLab 
    gitlab-ctl restart
    
4.png
2.2.2 GitLab常用命令
gitlab-ctl start    # 啟動所有 gitlab 組件鲁捏;
gitlab-ctl stop        # 停止所有 gitlab 組件;
gitlab-ctl restart        # 重啟所有 gitlab 組件萧芙;
gitlab-ctl status        # 查看服務(wù)狀態(tài)给梅;
vim /etc/gitlab/gitlab.rb        # 修改gitlab配置文件;
gitlab-ctl reconfigure        # 重新編譯gitlab的配置末购;
gitlab-ctl show-config      #驗證配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 檢查gitlab虎谢;
gitlab-ctl tail        # 查看日志盟榴;
gitlab-ctl tail nginx/gitlab_access.log

gitlab-ctl uninstall    #刪除gitlab(保留數(shù)據(jù))
gitlab-ctl cleanse  #刪除所有數(shù)據(jù),從新開始
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION   #查看gitlab版本

注意:執(zhí)行 reconfigure 命令會把gitlab的nginx組件的配置還原婴噩,導(dǎo)致自定義修改的端口以及域名等都沒有了擎场。
2.2.3 常用目錄
日志地址:/var/log/gitlab/   # 對應(yīng)各服務(wù)的打印日志 
服務(wù)地址:/var/opt/gitlab/   # 對應(yīng)各服務(wù)的主目錄

2.3 登陸GitLab后臺管理頁面

本機安裝好Git程序,然后登錄到GitLab后臺:我這里的地址就是之前配置的http://192.168.1.124几莽。

測試能否成功連接步驟:

2.3.1 GitLab后臺新建項目庫
在GitLab后臺新建庫repo1.
5.png
2.3.2 本機新建測試文件HelloGit.txt
本機新建文件LocalGit/repo1/HelloGit.txt.
6.png
2.3.3 創(chuàng)建本地Git
右鍵使用turtoiseGit工具選擇Git create responsitory創(chuàng)建本地Git庫迅办。
2.3.4 提交并推送到遠(yuǎn)程Git服務(wù)器
1. 選擇git commit提交代碼到本地庫。
2. 選擇git sync章蚣,填入GitLab后臺新建項目時得到的git倉庫連接,這里以http連接為例.
    http://192.168.5.124/root/repo1.git
6. 如果能成功提交即成功.
7.png
8.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末站欺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子纤垂,更是在濱河造成了極大的恐慌矾策,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峭沦,死亡現(xiàn)場離奇詭異贾虽,居然都是意外死亡,警方通過查閱死者的電腦和手機吼鱼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門蓬豁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绰咽,“玉大人,你說我怎么就攤上這事地粪∪∧迹” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵驶忌,是天一觀的道長矛辕。 經(jīng)常有香客問我,道長付魔,這世上最難降的妖魔是什么聊品? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮几苍,結(jié)果婚禮上翻屈,老公的妹妹穿的比我還像新娘。我一直安慰自己妻坝,他們只是感情好伸眶,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刽宪,像睡著了一般厘贼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上圣拄,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天嘴秸,我揣著相機與錄音,去河邊找鬼庇谆。 笑死岳掐,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饭耳。 我是一名探鬼主播串述,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼寞肖!你這毒婦竟也來了纲酗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤新蟆,失蹤者是張志新(化名)和其女友劉穎耕姊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栅葡,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡茉兰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了欣簇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片规脸。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡坯约,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出莫鸭,到底是詐尸還是另有隱情闹丐,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布被因,位于F島的核電站卿拴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梨与。R本人自食惡果不足惜堕花,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望粥鞋。 院中可真熱鬧缘挽,春花似錦、人聲如沸呻粹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽等浊。三九已至腮郊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筹燕,已是汗流浹背轧飞。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庄萎,地道東北人踪少。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓塘安,卻偏偏與公主長得像糠涛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子兼犯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345