Centos7系統(tǒng)下配置Git服務(wù)器(9)-- CI/CD 原生Git代碼自動(dòng)上線

實(shí)現(xiàn)自動(dòng)化部署的方式有很多捡偏,大家百度到的都是Jenkins。實(shí)際上CI/CD的方式還有很多。在博文中我至少列舉了三種形式介牙。第一種Jenkins 第二種TecmCity 第三種就是原生Git hooks實(shí)現(xiàn)逻杖。

Centos7.x Git服務(wù)器部署教程參考

0x1在服務(wù)器初始化一個(gè)遠(yuǎn)程git倉(cāng)庫(kù)

1) git initgit init --bare 的區(qū)別

初始化出來(lái)的倉(cāng)庫(kù)是不一樣的奋岁,前者初始化的是一個(gè)普通的倉(cāng)庫(kù),其中 .git 文件夾是隱藏的荸百,并且能看見(jiàn)該倉(cāng)庫(kù)下所有的源碼闻伶。而后者初始化出來(lái)的倉(cāng)庫(kù)中的文件,就是 .git 中的文件夾够话,但不能像前者那樣直接瀏覽或修改倉(cāng)庫(kù)中的代碼蓝翰。

2) 使用 git init --bare 初始化一個(gè)遠(yuǎn)程倉(cāng)庫(kù)。

該倉(cāng)庫(kù)是用于項(xiàng)目部署的女嘲。在我們本地開(kāi)發(fā)完成后畜份,將項(xiàng)目push至該倉(cāng)庫(kù)后,將自動(dòng)部署網(wǎng)站澡为。

[root@git git]# git init --bar project.git
Initialized empty Git repository in /home/git/project.git/
[root@git git]# ls
project.git
[root@git git]# cd project.git/
[root@git project.git]# ls
branches  config  description  HEAD  hooks  info  objects  refs
[root@git project.git]# 

3) 網(wǎng)站的根目錄

[root@git www]# chown -R git:git html
[root@git www]# cd html/
[root@git html]# ls
[root@git html]# ls
index.html  readme.md
[root@git html]#

4) 為遠(yuǎn)程倉(cāng)庫(kù)設(shè)置一個(gè) hook

[root@git git]# cd project.git/
[root@git project.git]# ls
branches  config  description  HEAD  hooks  info  objects  refs
[root@git project.git]# cd hooks
[root@git hooks]# 
[root@git hooks]# cp post-update.sample post-update

vim編輯post-update

#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".

#exec git update-server-info
unset GIT_DIR 
DIR_ONE=/var/www/html  #此目錄為服務(wù)器頁(yè)面展示目錄 
cd $DIR_ONE
git init
git remote add origin /home/git/project.git
#git clean -df
git pull origin master
echo "同步完成"

根據(jù)自己的業(yè)務(wù)需求漂坏,修改腳本實(shí)現(xiàn)不同的功能。

該腳本添加可執(zhí)行權(quán)限

[root@git hooks] chmod +x post-update

5) 在客戶端提交代碼檢查/var/www/html是否有推送

[root@web01 project]# touch 404.html
[root@web01 project]# git add .
[root@web01 project]# git commit -m "add index1.html"
[master 8beace1] add index1.html
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 404.html
[root@web01 project]# git remote add origin git@192.168.0.109:/home/git/project.git
fatal: remote origin already exists.
[root@web01 project]# git push origin master
git@192.168.0.109's password: 
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 249 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
remote: Reinitialized existing Git repository in /var/www/html/.git/
remote: fatal: remote origin already exists.
remote: From /home/git/project
remote:  * branch            master     -> FETCH_HEAD
remote:    0ce3c62..8beace1  master     -> origin/master
remote: Updating 0ce3c62..8beace1
remote: Fast-forward
remote:  404.html | 0
remote:  1 file changed, 0 insertions(+), 0 deletions(-)
remote:  create mode 100644 404.html
remote: 同步完成!
To git@192.168.0.109:/home/git/project.git
   0ce3c62..8beace1  master -> master
[root@web01 project]# 

顯示同步完成媒至!證明hooks已經(jīng)調(diào)用

[root@git hooks]# cd /var/www/html
[root@git html]# ls
404.html  index.html  readme.md
[root@git html]# 

到/var/www/html 目錄中驗(yàn)證代碼已經(jīng)同步過(guò)來(lái)顶别。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拒啰,隨后出現(xiàn)的幾起案子驯绎,更是在濱河造成了極大的恐慌,老刑警劉巖谋旦,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剩失,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡册着,警方通過(guò)查閱死者的電腦和手機(jī)拴孤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)甲捏,“玉大人演熟,你說(shuō)我怎么就攤上這事。” “怎么了芒粹?”我有些...
    開(kāi)封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵兄纺,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我化漆,道長(zhǎng)估脆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任座云,我火速辦了婚禮疙赠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朦拖。我一直安慰自己棺聊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布贞谓。 她就那樣靜靜地躺著,像睡著了一般葵诈。 火紅的嫁衣襯著肌膚如雪裸弦。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天作喘,我揣著相機(jī)與錄音理疙,去河邊找鬼。 笑死泞坦,一個(gè)胖子當(dāng)著我的面吹牛窖贤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贰锁,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼赃梧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了豌熄?” 一聲冷哼從身側(cè)響起授嘀,我...
    開(kāi)封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锣险,沒(méi)想到半個(gè)月后蹄皱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芯肤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年巷折,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖咨。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锻拘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掩幢,到底是詐尸還是另有隱情逊拍,我是刑警寧澤上鞠,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站芯丧,受9級(jí)特大地震影響芍阎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缨恒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一谴咸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧骗露,春花似錦岭佳、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至柿隙,卻和暖如春叶洞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背禀崖。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工衩辟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人波附。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓艺晴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親掸屡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子封寞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348