搭載git服務(wù)器并使用git hook 自動(dòng)布署代碼

第一步:創(chuàng)建一個(gè)git用戶僵蛛,用來運(yùn)行g(shù)it服務(wù):

adduser git

切換到/home下查看

ls -al //注意一定要查看git目錄的擁有者(必須是git)和所屬用戶組(可以是git或者root)
image.png
如果需要讓此用戶有root權(quán)限尚蝌,執(zhí)行命令:
root@ubuntu:~#  vim /etc/sudoers
修改文件如下:
# User privilege specification
root ALL=(ALL) ALL
git ALL=(ALL) ALL
保存退出,git用戶就擁有了root權(quán)限墩瞳。

第二步:創(chuàng)建證書登錄

進(jìn)入git目錄下:

cd /home/git

mkdir .ssh

cd .ssh

// 創(chuàng)建文件authorized_keys: 收集所有需要登錄的用戶的公鑰驼壶,就是他們自己的id_rsa.pub文件,把所有公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里喉酌,一行一個(gè)。
mkdir  authorized_keys  
vim authorized_keys
[備注:查看本機(jī) ssh 公鑰,生成公鑰]
a. 打開你的 git bash 窗口

b. 進(jìn)入 .ssh 目錄:cd ~/.ssh

c. 找到 id_rsa.pub 文件:ls

d. 查看公鑰:cat id_rsa.pub 或者 vim id_rsa.pub

如果找不到id_rsa.pub  就去 生成公鑰
1.如果通過上面的方式找不到公鑰泪电,你就需要先生成公鑰了:ssh-keygen
2.接著會(huì)確認(rèn)存放公鑰的地址般妙,默認(rèn)就是上面說的路徑,直接enter鍵確認(rèn)
3.接著會(huì)要求輸入密碼和確認(rèn)密碼相速,如果不想設(shè)置密碼直接不輸入內(nèi)容 按enter鍵

生成公鑰命令: ssh-keygen


image.png

第三步:初始化Git倉(cāng)庫(kù)

先選定一個(gè)目錄作為Git倉(cāng)庫(kù)碟渺,假定是/srv/sample.git,在/srv目錄下輸入命令:

git init --bare four.git

Git就會(huì)創(chuàng)建一個(gè)裸倉(cāng)庫(kù)突诬,裸倉(cāng)庫(kù)沒有工作區(qū)苫拍,因?yàn)榉?wù)器上的Git倉(cāng)庫(kù)純粹是為了共享,所以不讓用戶直接登錄到服務(wù)器上去改工作區(qū)旺隙,并且服務(wù)器上的Git倉(cāng)庫(kù)通常都以.git結(jié)尾绒极。然后,把owner改為git:

chown -R git:git four.git

第四步:禁用shell登錄-測(cè)試是否密鑰登錄成功

出于安全考慮蔬捷,第二步創(chuàng)建的git用戶不允許登錄shell垄提,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改成:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

本地電腦git 測(cè)試秘鑰登錄是否成功

ssh git@yourserverip

第四步:克隆遠(yuǎn)程倉(cāng)庫(kù)

現(xiàn)在周拐,可以通過git clone命令克隆遠(yuǎn)程倉(cāng)庫(kù)了铡俐,在各自的電腦上運(yùn)行:

$ git clone git@server:/srv/four.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

第五步:git hook 自動(dòng)布署代碼

原理和流程
    1,git用戶執(zhí)行g(shù)it push操作
    2,遠(yuǎn)程倉(cāng)庫(kù)發(fā)現(xiàn)有用戶執(zhí)行了push操作,就會(huì)執(zhí)行一個(gè)腳本post-receive(鉤子)
    3,在post-receive腳本中妥粟,將git倉(cāng)庫(kù)的代碼拷貝到web站點(diǎn)目錄下

因?yàn)楣镜捻?xiàng)目也是跑在此臺(tái)服務(wù)器上审丘,所以自動(dòng)部署代碼比較簡(jiǎn)單。
進(jìn)入到第三步初始化的git倉(cāng)庫(kù)目錄勾给,/srv/four.git/hooks目錄下滩报,命令行執(zhí)行:

cp post-update.sample post-receive 
vim post-receive

添加以下代碼到post-receive文件

unset  GIT_DIR
cd /data/wwwroot/four/four
git pull
image.png

然后保存即可;
最后修改post-receive文件權(quán)限:

chown -R git:git post-receive

轉(zhuǎn)載自:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

與:http://chenxu.cn.com/archives/1334

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锦秒,一起剝皮案震驚了整個(gè)濱河市露泊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旅择,老刑警劉巖惭笑,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異生真,居然都是意外死亡沉噩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門柱蟀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來川蒙,“玉大人,你說我怎么就攤上這事长已⌒笳#” “怎么了昼牛?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)康聂。 經(jīng)常有香客問我贰健,道長(zhǎng),這世上最難降的妖魔是什么恬汁? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任伶椿,我火速辦了婚禮,結(jié)果婚禮上氓侧,老公的妹妹穿的比我還像新娘脊另。我一直安慰自己,他們只是感情好约巷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布偎痛。 她就那樣靜靜地躺著,像睡著了一般载庭。 火紅的嫁衣襯著肌膚如雪看彼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天囚聚,我揣著相機(jī)與錄音靖榕,去河邊找鬼。 笑死顽铸,一個(gè)胖子當(dāng)著我的面吹牛茁计,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谓松,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼星压,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了鬼譬?” 一聲冷哼從身側(cè)響起娜膘,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎优质,沒想到半個(gè)月后竣贪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巩螃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年演怎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片避乏。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爷耀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拍皮,到底是詐尸還是另有隱情歹叮,我是刑警寧澤跑杭,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站盗胀,受9級(jí)特大地震影響艘蹋,放射性物質(zhì)發(fā)生泄漏锄贼。R本人自食惡果不足惜票灰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宅荤。 院中可真熱鬧屑迂,春花似錦、人聲如沸冯键。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惫确。三九已至手报,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間改化,已是汗流浹背掩蛤。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陈肛,地道東北人揍鸟。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像句旱,于是被迫代替她去往敵國(guó)和親阳藻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,645評(píng)論 9 163
  • 一谈撒、常用終端指令 $ pwd用于查看當(dāng)前目錄 $ mkdir learngit 創(chuàng)建一個(gè)名為learngit的空目...
    天山雪蓮_38324閱讀 452評(píng)論 0 1
  • Git教程 一腥泥、Git簡(jiǎn)介 1.1. Git的誕生1.2.集中式的vs分布式 二、安裝Git 三啃匿、創(chuàng)建版本庫(kù) 四蛔外、...
    曹淵說創(chuàng)業(yè)閱讀 940評(píng)論 0 2
  • 轉(zhuǎn)載 :作者 [zhangwang] @(前端開發(fā))[Git|工具]以前也看過一些關(guān)于git的視頻,可是覺得自己一...
    堅(jiān)持編程_lyz閱讀 652評(píng)論 0 2
  • 每個(gè)成功的品牌立宜,都有自己清晰的定位冒萄。而提起瑜珈品牌,人們也會(huì)想起梵音橙数,那梵音就是成功的
    玉蘭9981閱讀 94評(píng)論 0 0