前言
最近閑來無事蜓耻,公司的web端總是出現(xiàn)胡亂push
的現(xiàn)象:
比如:亂push
到master
上土涝,然后又需要git reset --hard
贝奇,導(dǎo)致了其他人的本地分支比遠(yuǎn)端超前频丘,然后又各種git branch -D
曙聂,總體來講不太安全吧菠红。
試想:如果可以分支保護(hù)
那就簡單多了豪直,被保護(hù)的分支
只有有權(quán)限的人可以push
金蜀,那問題不就解決了么?
GitLab
記得上一家公司的服務(wù)器搭建的還挺好用的吃靠,自我感覺優(yōu)勢如下:
- 支持類似于github那樣強(qiáng)大而又簡單的UI交互型操作
- 支持安裝包部署在自己服務(wù)器上硫眨,安全、開源巢块,并且免費
- 支持郵件服務(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郵箱配置
以下是 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ù)更新莹桅。
- 如果有想法,及時提出烛亦,歡迎指正和交流诈泼。