CentOS6.7下GitLab的最簡(jiǎn)單安裝方法以及Eclipse配置使用Git

一篇文宽涌,學(xué)會(huì)GitLab搭建和配置使用Eclipse的Git插件

操作系統(tǒng):CentOS6.7
GotLab版本:10.3.2-CE
(所有服務(wù)器上的配置均在root權(quán)限下操作)

一、基礎(chǔ)環(huán)境搭建


1.安裝軟件依賴

yum install -y curl policycoreutils-python openssh-server cronie

2.配置主機(jī)名

cat << EOF > /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=gitlab.example.com
EOF

3.添加防火墻規(guī)則放行ssh和http服務(wù)用到的端口

lokkit -s http -s ssh

二、安裝郵件服務(wù)器Postfix(可選)


yum install postfix
service postfix start
chkconfig postfix on

注:安裝過(guò)程中在配置界面選擇Internet Site鹰晨,使用服務(wù)器的域名來(lái)配置mail name

如不想啟用項(xiàng)目管理的郵件功能,可以跳過(guò)此步鸡典。

三芳悲、安裝GitLab


1.離線安裝GitLab

安裝GitLab有很多辦法,有直接安裝的馏臭,有通過(guò)添加源在線安裝的野蝇,有Docker、有VM鏡像括儒。绕沈。。

  • 如果是為了研究學(xué)習(xí)帮寻,Docker和VM鏡像是最好的選擇
  • 如果是生產(chǎn)環(huán)境部署乍狐,建議使用安裝包部署在物理服務(wù)器上

本文以生產(chǎn)環(huán)境部署為背景,部署在物理服務(wù)器上固逗。這里不建議使用官方Installation頁(yè)面Recommended的安裝方式浅蚪,因?yàn)楣俜侥_本里提供的源對(duì)國(guó)內(nèi)來(lái)說(shuō)速度很不友好,安裝過(guò)程很痛苦烫罩,這里采用離線安裝的方式惜傲。

首先在鏡像站下載GitLab的安裝包:

  • gitlab-ce-10.3.2-ce.0.el6.x86_64.rpm
    版本號(hào)因選擇而異

清華鏡像站(推薦):
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/
官方鏡像站:
https://packages.gitlab.com/gitlab/gitlab-ce

假設(shè)服務(wù)器的主機(jī)名/域名是gitlab.example.com,安裝命令為:

EXTERNAL_URL="http://gitlab.example.com" rpm -i gitlab-ce-10.3.2-ce.0.el6.x86_64.rpm

正確安裝后應(yīng)有下列輸出:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

2.啟動(dòng)GitLab

正常情況下啟動(dòng)GitLab的命令為:

gitlab-ctl start

但因?yàn)槭前惭b后第一次啟動(dòng)贝攒,配置文件需要初始化盗誊,第一次啟動(dòng)要執(zhí)行:

gitlab-ctl reconfigure

稍候片刻就執(zhí)行完成了。
此時(shí)可以通過(guò)

netstat -lntp

查看進(jìn)程占用端口情況隘弊,如果是按照上面的步驟全新安裝哈踱,輸出應(yīng)類似如下:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State       PID/Program name   
tcp        0      0 127.0.0.1:9121   0.0.0.0:*        LISTEN      46072/redis_exporte 
tcp        0      0 127.0.0.1:9090   0.0.0.0:*        LISTEN      46354/prometheus    
tcp        0      0 127.0.0.1:9187   0.0.0.0:*        LISTEN      46388/postgres_expo 
tcp        0      0 127.0.0.1:9100   0.0.0.0:*        LISTEN      45935/node_exporter 
tcp        0      0 127.0.0.1:9229   0.0.0.0:*        LISTEN      46310/gitlab-workho 
tcp        0      0 127.0.0.1:9168   0.0.0.0:*        LISTEN      46342/ruby          
tcp        0      0 127.0.0.1:8080   0.0.0.0:*        LISTEN      45473/unicorn maste 
tcp        0      0 0.0.0.0:80       0.0.0.0:*        LISTEN      45632/nginx         
tcp        0      0 0.0.0.0:22       0.0.0.0:*        LISTEN      43821/sshd          
tcp        0      0 127.0.0.1:631    0.0.0.0:*        LISTEN      2064/cupsd          
tcp        0      0 127.0.0.1:25     0.0.0.0:*        LISTEN      8741/master         
tcp        0      0 0.0.0.0:8060     0.0.0.0:*        LISTEN      45632/nginx         
tcp        0      0 ::1:9168         :::*             LISTEN      46342/ruby          
tcp        0      0 :::22            :::*             LISTEN      43821/sshd          
tcp        0      0 ::1:631          :::*             LISTEN      2064/cupsd          
tcp        0      0 ::1:25           :::*             LISTEN      8741/master         

3.訪問(wèn)GitLab的WEB界面

如果服務(wù)器配置了域名,擇可以直接訪問(wèn)域名长捧;
如果服務(wù)器是在局域網(wǎng)內(nèi)搭建嚣鄙,在客戶端的主機(jī)上要配置服務(wù)器到主機(jī)名的映射:

服務(wù)器ip     服務(wù)器主機(jī)名

windows 10:
a.右鍵單擊左下角窗口按鈕,彈出菜單中選擇“命令提示符(管理員)”
b.在命令行提示符鍵入:notepad drivers\etc\hosts
c.在打開(kāi)的hosts文件中添加一行:(假設(shè)服務(wù)器的ip為192.168.10.168串结,主機(jī)名為 gitlab.example.com)

192.168.10.168   gitlab.example.com

保存并關(guān)閉

Most Linux OS:
執(zhí)行:

cat << EOF >> /etc/hosts
192.168.10.168   gitlab.example.com
EOF

打開(kāi)瀏覽器哑子,輸入域名/ip舅列,應(yīng)能看到如下界面:
首次安裝需要設(shè)置root密碼。


用戶名為root
密碼就是剛才設(shè)置的密碼卧蜓。



詳細(xì)的使用在下一章結(jié)合Eclipse講解帐要。

四、Eclipse配置使用Git


1.在GitLab上新建一個(gè)Project(項(xiàng)目)

這里可以看到有三個(gè)選項(xiàng)卡弥奸,分別是空項(xiàng)目榨惠、從模板新建和導(dǎo)入項(xiàng)目。
看圖含義很好理解盛霎,就不多贅述了赠橙。這里選擇空項(xiàng)目。

新建一個(gè)名為“GitTest”的項(xiàng)目愤炸,屬性設(shè)置為“Internal”防止未登錄用戶獲得項(xiàng)目的數(shù)據(jù)期揪。項(xiàng)目描述隨便寫(xiě)一些東西。然后點(diǎn)擊創(chuàng)建规个。


2.導(dǎo)入SSH Key

成功創(chuàng)建項(xiàng)目后凤薛,頁(yè)面頂部會(huì)提示要導(dǎo)入SSH Key,以使用SSH來(lái)push代碼诞仓。


(以u(píng)buntu Linux為例缤苫,windows環(huán)境請(qǐng)自行查閱資料)
打開(kāi)終端,輸入:

cat .ssh/id_rsa.pub

會(huì)得到類似下面這樣一串以ssh-rsa開(kāi)頭墅拭,以user@hostname結(jié)尾的Key:

如果執(zhí)行cat命令之后沒(méi)有輸出活玲,則需要生成ssh key:

ssh-keygen

一路回車(chē)使用默認(rèn)值即可,然后再執(zhí)行上面的命令得到生成的key谍婉。

點(diǎn)擊 “add an SSH key”

把剛才生成的key粘貼到文本框里翼虫,然后點(diǎn)擊 “Add key”

這樣就可以在自己的電腦上使用Git客戶端來(lái)管理GitLab上的項(xiàng)目了。
關(guān)于Git客戶端的操作屡萤,請(qǐng)參照其他資料,這里先不做講解掸宛。

3.在Eclipse中使用Git

a.向項(xiàng)目中添加一個(gè)README

我們先往項(xiàng)目里加點(diǎn)東西死陆,點(diǎn)擊頁(yè)首的 [Projects]->[Your Projects]->[Administrator GitTest] 回到創(chuàng)建的項(xiàng)目。新建一個(gè) README.md
GitLab的文檔建議使用Markdown語(yǔ)法唧瘾,想要熟練編寫(xiě)漂亮的文檔措译,還要掌握Markdown語(yǔ)法。

先隨便寫(xiě)了一點(diǎn)東西饰序,關(guān)于文檔的規(guī)范领虹,后續(xù)還要專門(mén)講,這里就不在意這些細(xì)節(jié)了求豫。
寫(xiě)完之后提交塌衰,看看效果:


這樣我們的項(xiàng)目下就有東西了诉稍。

b.配置Eclipse的Git插件

一般現(xiàn)在常用的版本都已經(jīng)預(yù)裝好了Git插件
我們首先給Eclipse添加用戶信息、SSH key
選擇 [Window]->[Preference] 打開(kāi)屬性對(duì)話框最疆,在filter里鍵入git:

在左側(cè)選擇Configuration杯巨,點(diǎn)擊右側(cè)的Add Entry,Key項(xiàng)添加uer.email努酸,Value添加郵箱地址服爷,這里隨便寫(xiě)了一個(gè):



點(diǎn)擊OK提交之后,再次點(diǎn)擊Add Entry获诈,添加:


c.配置Eclipse的SSH key

還是在preference對(duì)話框仍源,左側(cè)filter輸入ssh,選擇SSH2舔涎,右側(cè)的選項(xiàng)卡選擇 [Key Management](我的這個(gè)Eclipse主題有Bug笼踩,看不清選項(xiàng)卡的字):

然后點(diǎn)擊 [Generate RSA Key...] 生成一個(gè)key:

復(fù)制這個(gè)Key,點(diǎn)擊右下角的 [Apply and Close] 關(guān)閉對(duì)話框终抽。
在GitLab里點(diǎn)擊右上角的頭像戳表,選擇 [Settings] 進(jìn)入個(gè)人設(shè)置頁(yè),在頁(yè)面左側(cè)選擇SSH Keys:

把剛才復(fù)制的Key添加進(jìn)來(lái)昼伴。


點(diǎn)擊Add key提交匾旭。

d.使用Eclipse的Git插件clone GitLab上的項(xiàng)目

現(xiàn)在完成了基本的配置,回到Eclipse,點(diǎn)擊右上角的 [Open Perspective]


在彈出的對(duì)話框選擇Git并Open(我的已經(jīng)選擇好了所以上圖能看見(jiàn)):

然后Eclipse就進(jìn)入到了Git視圖:



在左側(cè)項(xiàng)目窗口內(nèi)選擇第三個(gè)圖標(biāo)圃郊,“Clone a Git Repository and add the clone to this view”:


打開(kāi)GitLab的項(xiàng)目視圖价涝,把剛才建立的項(xiàng)目ssh鏈接復(fù)制出來(lái):

粘貼到Eclipse里:


點(diǎn)擊下一步,就可以得到GitTest的分支信息:


再點(diǎn)擊下一步持舆,我們可以在①處指定本地repo存放的目錄色瘩,在②處可以新建或者選擇工作集:



點(diǎn)擊完成,導(dǎo)入項(xiàng)目逸寓。



在左面的repo視圖中可以看到README.md文件了居兆。雙擊打開(kāi),可以看到文件內(nèi)容竹伸。
e.使用Eclipse的Git插件的commit泥栖、push和fetch

在Eclipse中修改項(xiàng)目文件的內(nèi)容之后,需要先commit到本地repo勋篓,右鍵GitTest項(xiàng)目名稱:


選擇 [Commit...] 填寫(xiě)好相關(guān)的說(shuō)明吧享。

雙擊修改的文件可以查看修改的內(nèi)容:

點(diǎn)擊Commit提交修改。這時(shí)我們打開(kāi)GitLab可以看到修改的內(nèi)容并沒(méi)有同步上來(lái)譬嚣,這是因?yàn)閯偛與ommit的修改是提交到了本地的repo钢颂,如果要提交到GitLab,還需要push一下拜银。

右鍵Local目錄下的master分支殊鞭,選擇Push Branch...

前面clone的時(shí)候已經(jīng)配置好了項(xiàng)目的信息遭垛,這里就使用默認(rèn)配置就可以了,點(diǎn)擊Next钱豁。



點(diǎn)擊Finish確認(rèn)Push動(dòng)作耻卡。



Push完成:

打開(kāi)GitLab的項(xiàng)目頁(yè),此時(shí)可以看到README.md的內(nèi)容已經(jīng)更新了牲尺。


下面在GitLab上修改一下README:


切換到Eclipse卵酪,在左側(cè)項(xiàng)目窗口右鍵GitTest項(xiàng)目,點(diǎn)擊Pull

這樣就把最新的內(nèi)容從GitLab上同步下來(lái)了,打開(kāi)WorkingTree下的README看看:

已經(jīng)變成GitLab上最新的內(nèi)容了谤碳。

下一篇文章主要講使用Git進(jìn)行項(xiàng)目管理的一些原則和技巧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末溃卡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蜒简,更是在濱河造成了極大的恐慌瘸羡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搓茬,死亡現(xiàn)場(chǎng)離奇詭異犹赖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)卷仑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)峻村,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人锡凝,你說(shuō)我怎么就攤上這事粘昨。” “怎么了窜锯?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵张肾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我锚扎,道長(zhǎng)吞瞪,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任驾孔,我火速辦了婚禮尸饺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘助币。我一直安慰自己,他們只是感情好螟碎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布眉菱。 她就那樣靜靜地躺著,像睡著了一般掉分。 火紅的嫁衣襯著肌膚如雪俭缓。 梳的紋絲不亂的頭發(fā)上克伊,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音华坦,去河邊找鬼愿吹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惜姐,可吹牛的內(nèi)容都是我干的犁跪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼歹袁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坷衍!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起条舔,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤枫耳,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后孟抗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體迁杨,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年凄硼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铅协。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帆喇,死狀恐怖警医,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情坯钦,我是刑警寧澤预皇,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站婉刀,受9級(jí)特大地震影響吟温,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜突颊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一鲁豪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧律秃,春花似錦爬橡、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至船惨,卻和暖如春柜裸,著一層夾襖步出監(jiān)牢的瞬間缕陕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工疙挺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扛邑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓铐然,卻偏偏與公主長(zhǎng)得像蔬崩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锦爵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354