搭建私有Gitlab或Gogs

前言

由于項目越來越大,因為我需要更多的人投入到項目的開發(fā)過程中來浪规,看中了Gitlab或听,所以自己準(zhǔn)備把Gitlab部署到百度云服務(wù)器中,讓其它項目的開發(fā)人員也一起投入項目開發(fā)罗丰,搭建前我看了Gitlab的官網(wǎng)https://about.gitlab.com/pricing/#gitlab-com神帅、官網(wǎng)提供推薦使用Omnibus package installation安裝方式,我考慮到Docker后期遷移和再部署都會很方便萌抵,所以采用了Docker的方式進行搭建找御,我用的是gitlab-ce這個是社區(qū)版本元镀,還有個gitlab-ee是企業(yè)版本,企業(yè)版本是收費霎桅,社區(qū)版本是免費的栖疑,但同時社區(qū)版本功能會少很多,因我只需要基本功能就滿足我的需求了滔驶,所以使用了gitlab-ce社區(qū)版本

搭建環(huán)境

使用的百度云BCC服務(wù)器遇革,安裝的CentOS7.5 64位系統(tǒng),當(dāng)然如果你們是自己的服務(wù)器或都是阿里云揭糕、騰訊云都類似

安裝Docker

因為是新系統(tǒng)所以之前是未有安裝過Docker萝快,所以先需要安裝Docker,注意:Docker對系統(tǒng)版本是有一定要求著角,必須是CentOS6.5或以上
以下為安裝命令:

# 安裝docker
yum -y install docker
# 啟動docker
systemctl start docker
# 運行hello-world,如不存在docker會自動下載hello-world
docker run hello-world
# 查看docker鏡像
docker images
# 查看運行中的容器
docker ps -a

安裝gitlab-ce

# 獲取gitlab-ce鏡像
docker pull gitlab/gitlab-ce
# 準(zhǔn)備容器外gitlab目錄
mkdir -p /opt/gitlab/etc
mkdir -p /opt/gitlab/log
mkdir -p /opt/gitlab/data
# 運行容器
docker run --detach --publish 8443:443 --publish 8090:80 --name gitlab --restart unless-stopped -v /opt/gitlab/etc:/etc/gitlab -v /opt/gitlab/log:/var/log/gitlab -v /opt/gitlab/data:/var/opt/gitlab docker.io/gitlab/gitlab-ce
# --detach : 后臺運行
# --publish : 端口映射
# --name : 容器名稱
# --restart : 重啟模式設(shè)置為unless-stopped
# -v : 掛載目錄
# docker.io/gitlab/gitlab-ce : 鏡像名稱

修改gitlab配置

# 修改/opt/gitlab/etc/gitlab.rb
vim /opt/gitlab/etc/gitlab.rb

把external_url改成部署機器的域名或者IP地址


image.png
# 修改/opt/gitlab/data/gitlab-rails/etc/gitlab.yml
vim /opt/gitlab/data/gitlab-rails/etc/gitlab.yml
image.png

到此為止揪漩,gitlab的web管理頁面就可以正常訪問
如果還是不能正常訪問的話,檢查端口是否被占用

常用Gitlab命令

# 重新應(yīng)用gitlab的配置
gitlab-ctl reconfigure
 
# 重啟gitlab服務(wù)
gitlab-ctl restart
 
# 查看gitlab運行狀態(tài)
gitlab-ctl status
 
#停止gitlab服務(wù)
gitlab-ctl stop
 
# 查看gitlab運行日志
gitlab-ctl tail
 
# 停止相關(guān)數(shù)據(jù)連接服務(wù)
gitlab-ctl stop unicorn
gitlab-ctl stop sideki

Gitlab的使用

訪問剛搭建的Gitlab吏口,會提示你設(shè)置密碼奄容,這個密碼是gitlab的root用戶的管理員密碼
設(shè)置完密碼后通過root賬號及密碼登錄gitlab

1、如果需要添加組的可以先添加組(我添加了backend組)
2产徊、新建項目
3昂勒、開發(fā)人員注冊gitlab,并設(shè)置添加ssh-key
4、管理在組中添加開發(fā)人員舟铜,指定開發(fā)人員權(quán)限
5戈盈、開發(fā)人員登錄,就能看到管理員組下面新建的項目
6深滚、如果習(xí)慣中文版奕谭,可以在個人中心配置里面選擇語言為中文簡體


image.png

安裝Gogs

說明

之所以又介紹Gogs,是因為發(fā)現(xiàn)1核2G內(nèi)存的服務(wù)器配置運行Gitlab很卡很慢痴荐,官網(wǎng)建議Gitlab至少要用4G內(nèi)存使用,但服務(wù)器資源貴官册,后面才想到使用Gogs生兆,Gogs是使用go語言開發(fā),輕量便潔膝宁,內(nèi)存占用少等優(yōu)良特點

安裝docker,如上安裝方式

Gogs鏡像

# Pull image from Docker Hub.
$ docker pull gogs/gogs

# Create local directory for volume.
$ mkdir -p /var/gogs

# Use `docker run` for the first time.
$ docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

# Use `docker start` if you have stopped it.
$ docker start gogs

如果第3條命令報如下錯誤:


image.png

則重啟下docker:

# restart docker
systemctl restart docker
# Once again start gogs
docker start gogs
# View gogs process
docker ps 

使用docker ps就可以看到服務(wù)了:


image.png

如果為阿里云服務(wù)器,需要配置安全組

其它服務(wù)器看情況,騰訊,華為,AWS等也都是要配置的,下面是配置的樣圖:


image.png

安裝gogs

輸入docker主機的ip和端口(默認(rèn)端口10080):http://IP:10080/

我安裝使用docker安裝一個mysql服務(wù)鸦难,然后配置用戶名密碼
數(shù)據(jù)庫主機填上可訪問的數(shù)據(jù)庫主機IP,如是阿里云需要開放訪問權(quán)限


image.png

注意:紅色框?qū)懮献约旱姆?wù)器IP地址


image.png

注意:可以不用創(chuàng)建管理員用戶员淫,默認(rèn)第一個用戶就是管理員合蔽,admin這個用戶不能使用
image.png

--- 注意:如果前端端口配置錯了,后面可以在/var/gogs/gogs/conf/app.ini中修改介返,然后重新啟動docker容器

數(shù)據(jù)庫連接不上解決方案

1 阿里云ECS有安全組防火墻.默認(rèn)只開了ICMP,22,3389. 在服務(wù)器控制臺找到 安全組-配置規(guī)則-添加安全組規(guī)則


image.png

2 如果是用root登錄MySQL,在登陸后use mysql, user表root對應(yīng)的localhost改為%

mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;

3 mysql默認(rèn)只能自本機訪問,在 /etc/mysql/mysql.conf.d/mysqld.cnf 里注釋bind-address : #bind-address = 127.0.0.1
操作完成后重啟mysql服務(wù): service mysql restart
4 netstat -ntpl |grep 3306 檢查是不是在監(jiān)聽狀態(tài)
5 防火墻是否對 mysql 端口限制,設(shè)置防火墻

# 打開防火墻配置文件    
vi  /etc/sysconfig/iptables
# 增加下面一行    
# 注意:增加的開放3306端口的語句一定要在icmp-host-prohibited之前
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 重啟防火墻
systemctl restart iptables.service

有這五步基本都能解決連接不上的問題了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拴事,一起剝皮案震驚了整個濱河市沃斤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刃宵,老刑警劉巖衡瓶,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異牲证,居然都是意外死亡哮针,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門坦袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來十厢,“玉大人,你說我怎么就攤上這事捂齐÷牛” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵辛燥,是天一觀的道長筛武。 經(jīng)常有香客問我,道長挎塌,這世上最難降的妖魔是什么徘六? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮榴都,結(jié)果婚禮上待锈,老公的妹妹穿的比我還像新娘。我一直安慰自己嘴高,他們只是感情好竿音,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拴驮,像睡著了一般春瞬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上套啤,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天宽气,我揣著相機與錄音,去河邊找鬼潜沦。 笑死萄涯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唆鸡。 我是一名探鬼主播涝影,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼争占!你這毒婦竟也來了燃逻?” 一聲冷哼從身側(cè)響起序目,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎唆樊,沒想到半個月后宛琅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡逗旁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年嘿辟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片片效。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡红伦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出淀衣,到底是詐尸還是另有隱情昙读,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布膨桥,位于F島的核電站蛮浑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏只嚣。R本人自食惡果不足惜沮稚,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望册舞。 院中可真熱鬧蕴掏,春花似錦、人聲如沸调鲸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽藐石。三九已至即供,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間于微,已是汗流浹背募狂。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留角雷,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓性穿,卻偏偏與公主長得像勺三,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子需曾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容