最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用git代替FTP部署代碼到服務(wù)器的例子

 更新時(shí)間:2014年09月06日 09:52:16   作者:jser.me  
這篇文章主要介紹了使用git代替FTP部署代碼到服務(wù)器的例子,這種方法可以節(jié)省流量、節(jié)省時(shí)間,需要的朋友可以參考下

本地開(kāi)發(fā)完成后,通常會(huì)在服務(wù)器上部署,有人會(huì)使用ftp,有人會(huì)使用scp, ftp和scp的時(shí)候?yàn)榱朔奖阄覀兺ㄟ^(guò)還要tar或者zip一下, 這些做法也很不錯(cuò),但是它有一些問(wèn)題

1.全部更新,不管某些文件是否修改,都要重新傳一下服務(wù)器,浪費(fèi)時(shí)間與流量
2.多臺(tái)服務(wù)器的重復(fù)上傳
3.代碼更新后,后續(xù)的一些操作不夠自動(dòng)化

上面的問(wèn)題可以通過(guò)ssh直接遠(yuǎn)程執(zhí)行命令來(lái)解決,但是需要寫(xiě)一些shell腳本, 有沒(méi)有更簡(jiǎn)單更高效的方法呢?有,那就是使用版本版本管理工具的hook!

這里我說(shuō)是版本管理工具而不是git,是因?yàn)閟vn、git、hg都是有相應(yīng)的hook的, 原理大同小異。下面是Git詳細(xì)的思路。

服務(wù)器端操作

首先創(chuàng)建一個(gè)裸庫(kù),為什么是裸庫(kù)?因?yàn)檫@個(gè)庫(kù)不是真正用來(lái)修改的,我們也不允許在服務(wù)器上修改代碼,我們只是把它當(dāng)作一個(gè)代碼中轉(zhuǎn)的地方:

復(fù)制代碼 代碼如下:

cd gitroot
mkdir projectname
cd projectname
git init --bare

添加我們的hook

復(fù)制代碼 代碼如下:

cd /hooks
touch post-receive

編輯post-receive的內(nèi)容為下面的,其中sites/projectname,是我們存放網(wǎng)站代碼地方
復(fù)制代碼 代碼如下:

env -i git archive master | tar -x -C /sites/projectname
echo "遠(yuǎn)程更新完畢"

本地git的操作

本地我們只需要添加一個(gè)遠(yuǎn)程庫(kù),在需要部署的時(shí)候push到遠(yuǎn)程庫(kù)就行了,下面我們添加了一個(gè)名為publish的遠(yuǎn)程庫(kù)

復(fù)制代碼 代碼如下:

git remote add publish username@xx.xx.xx.xx:/home/gitroot/projectname
git push publish master

可以強(qiáng)化的地方

這里演示的是一個(gè)簡(jiǎn)單的小網(wǎng)站的部署過(guò)程,復(fù)雜的情況下我們還可以添加靜態(tài)資源版本更新,服務(wù)器重啟等等,舉一反三, 最大程序自動(dòng)化我們的工作。

相關(guān)文章

  • MAC系統(tǒng)IDEA顏值插件MaterialThemeUI

    MAC系統(tǒng)IDEA顏值插件MaterialThemeUI

    俗話說(shuō),工欲善其事必先利其器。工具的顏值也很重要,好的主題讓人賞心悅目,有碼代碼的欲望。今天推薦一個(gè)IDEA顏值類插件:Material Theme UI
    2021-09-09
  • VScode敲代碼時(shí)自動(dòng)導(dǎo)入包的解決方案

    VScode敲代碼時(shí)自動(dòng)導(dǎo)入包的解決方案

    這篇文章主要介紹了VScode敲代碼時(shí)自動(dòng)導(dǎo)入包的解決方案,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vscode具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 詳解git的基本使用方法

    詳解git的基本使用方法

    這篇文章主要介紹了詳解git的基本使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 提高編程技能的11個(gè)建議

    提高編程技能的11個(gè)建議

    當(dāng)你不熟悉編程的時(shí)候,你可能會(huì)覺(jué)得無(wú)從下手,并且不知道如何運(yùn)用學(xué)到的知識(shí)。只要你通過(guò)了這一困難的學(xué)習(xí)階段,你就會(huì)發(fā)現(xiàn)一個(gè)全新的世界
    2014-08-08
  • kafka?rabbitMQ及rocketMQ隊(duì)列的消息可靠性保證分析

    kafka?rabbitMQ及rocketMQ隊(duì)列的消息可靠性保證分析

    這篇文章主要介紹了kafka?rabbitMQ及rocketMQ隊(duì)列的消息可靠性保證分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 簡(jiǎn)單談?wù)凣ET和POST有什么區(qū)別

    簡(jiǎn)單談?wù)凣ET和POST有什么區(qū)別

    本文給大家總結(jié)了下get與post的具體區(qū)別,以及網(wǎng)上的那么多答案為什么都是錯(cuò)誤的,非常的實(shí)用,這里推薦給大家
    2016-06-06
  • 鍵盤(pán)掃描碼[比較完整]

    鍵盤(pán)掃描碼[比較完整]

    鍵盤(pán)掃描碼
    2009-05-05
  • 如何使用VSCode 運(yùn)行調(diào)試插件代碼

    如何使用VSCode 運(yùn)行調(diào)試插件代碼

    這篇文章主要介紹了如何使用VSCode 運(yùn)行調(diào)試插件代碼的相關(guān)資料,需要的朋友可以參考下
    2020-01-01
  • git?pull和git?clone的區(qū)別詳解

    git?pull和git?clone的區(qū)別詳解

    本文主要介紹了git?pull和git?clone的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • elasticsearch索引index之merge底層機(jī)制的合并講解

    elasticsearch索引index之merge底層機(jī)制的合并講解

    這篇文章主要為大家介紹了elasticsearch索引index之merge底層機(jī)制的合并,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04

最新評(píng)論

昭平县| 盐山县| 长岛县| 泰来县| 水富县| 怀安县| 八宿县| 江阴市| 大田县| 华安县| 阳曲县| 宕昌县| 寻甸| 黑龙江省| 敦煌市| 西藏| 临西县| 珲春市| 门源| 忻城县| 金门县| 曲靖市| 延安市| 虎林市| 连平县| 分宜县| 宁海县| 七台河市| 苏州市| 乐至县| 余江县| 鲁甸县| 昭平县| 景谷| 武义县| 驻马店市| 沙雅县| 余江县| 渑池县| 淮安市| 三江|