基于CentOS7的GitLab搭建與配置

前言

最近閑來無事,公司的web端總是出現(xiàn)胡亂push的現(xiàn)象:

比如:亂pushmaster上,然后又需要git reset --hard,導(dǎo)致了其他人的本地分支比遠(yuǎn)端超前,然后又各種git branch -D,總體來講不太安全吧。

試想:如果可以分支保護(hù)那就簡單多了,被保護(hù)的分支只有有權(quán)限的人可以push,那問題不就解決了么?

GitLab
記得上一家公司的服務(wù)器搭建的還挺好用的,自我感覺優(yōu)勢如下:

  • 支持類似于github那樣強(qiáng)大而又簡單的UI交互型操作
  • 支持安裝包部署在自己服務(wù)器上,安全、開源,并且免費(fèi)
  • 支持郵件服務(wù)
  • 支持分支保護(hù)等等

以上僅僅是本人總結(jié)

說了這么多,那我們趕緊開始吧,不過這只是我的初步學(xué)習(xí),后期會持續(xù)更新。

正文

1. SSH連接CentOS服務(wù)器

/**
 root 【用戶名】
192.168.1.1 【IP地址】
*/
ssh root@192.168.1.1 
  • 如果之前配置過ssh密鑰,直接連接,沒有配置的話,輸入對應(yīng)用戶的(示例中為root)的密碼
  • 說明:本人目前是iOS開發(fā)者,對連接服務(wù)器一竅不通,所以講的略微詳細(xì),還望勿怪。

2. Update yum

yum update
  • yum:開源包管理工具,類似于brew,ruby

3. 安裝并配置必要的依賴

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 

  • 解釋說明,一共配置三個依賴:
    • 安裝配置ssh
    • 安裝配置postfix,用于郵件通知
    • 配置防火墻

4. 添加GitLab包服務(wù)器并安裝包

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 
sudo yum install gitlab-ce 

  • 下載包時間比較長,印象大小是300M+

5. GitLab 基本配置

GitLab 的相關(guān)參數(shù)配置都存在 /etc/gitlab/gitlab.rb 文件里,每次配置完成之后需要執(zhí)行gitlab-ctl reconfigure,進(jìn)行重新配置才能生效。

  • 進(jìn)入編輯gitlab.rb文件
vi /etc/gitlab/gitlab.rb

  • 執(zhí)行修改的配置
sudo gitlab-ctl reconfigure

  • 注意事項:
  • 如果中間出現(xiàn)“紅色”error,那可能執(zhí)行失敗。
  • 默認(rèn)配置前面有“#”,是被注釋的,需要刪除最前面的“#”
5.1 配置URL

打開 /etc/gitlab/gitlab.rb 配置文件,修改 external_url 'http://ip_address'external_url 'http://ip_address:new-port'


external_url 'http://ip_address:new-port'
  • 注意事項
  • 如果有域名,填入域名也行,沒有域名,填入IP地址即可
  • 若要生效,需要退出vi編輯,執(zhí)行sudo gitlab-ctl reconfigure命令,下面配置一樣,接下來不再重復(fù)
5.2 SMTP郵箱配置

官方SMTP郵箱配置-中文版

以下是 163 郵箱的配置參考(其他郵箱可以參照上面的官方示例)

gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "test@163.com" //需要自行修改
gitlab_rails['smtp_password'] = "password" //需要自行修改
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "test@163.com" // 必須與上面的郵箱一樣
  • 注意事項
  • 郵箱需要開啟 SMTP 協(xié)議
5.3 頭像配置

GitLab 默認(rèn)使用的是 Gravatar 頭像服務(wù),不過現(xiàn)在貌似 Gravatar 國內(nèi)好像訪問不了,導(dǎo)致 GitLab 默認(rèn)頭像破裂,無法顯示,可以替換為多說 Gravatar 服務(wù)器。打開 /etc/gitlab/gitlab.rb 配置文件,修改gitlab_rails['gravatar_plain_url']

gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

再分別執(zhí)行以下命令即可

gitlab-ctl reconfigure 
gitlab-rake cache:clear RAILS_ENV=production

6. Web初始化設(shè)置

在自己的電腦上,打開瀏覽器。輸入剛才配置URL,剛進(jìn)去設(shè)置root的用戶名和密碼。

登陸root后,增加group,project,member。

到此為止,完成部署,可以盡情的享受gitlab帶來的暢快體驗。

  • 說明:本教程中不包含為GitLab增加漢化包,想要漢化的朋友自己Google吧,本人認(rèn)為學(xué)好英語對于一個程序員來講真的很重要,就不說三遍了。

說明

  • 本文會隨著本人的深入學(xué)習(xí)持續(xù)更新。
  • 如果有想法,及時提出,歡迎指正和交流。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 由于公司業(yè)務(wù),需要上Git版本控制。 目前市面上比較有名的Git服務(wù)提供商,國外有GitHub、BitBucket...
    hjqjk閱讀 23,984評論 1 19
  • 一、系統(tǒng)環(huán)境 服務(wù)器:阿里云主機(jī) 操作系統(tǒng):Centos7.0 64位 已裝軟件:Nginx(80端口)、Apac...
    tsyeyuanfeng閱讀 78,112評論 18 92
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,618評論 19 139
  • 我看著她 她假裝兩眼放空 我往空氣里吐一口氣 這初秋的天氣怎么涼到骨子里 她在我對面 和前任現(xiàn)女友一起 有說有笑 ...
    與無閱讀 220評論 1 1
  • 能讓我一次又一次去 一次又一次寫的地方,估計只有青島了吧。 沒錯,我又來了,我回來了。 【雖然條件很艱苦,但日子也...
    蒜味兒大白貂閱讀 258評論 0 0

友情鏈接更多精彩內(nèi)容