欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

本地開發(fā)完成后,通常會在服務(wù)器上部署,有人會使用ftp,有人會使用scp, ftp和scp的時候為了方便我們通過還要tar或者zip一下, 這些做法也很不錯,但是它有一些問題

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

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

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

服務(wù)器端操作

首先創(chuàng)建一個裸庫,為什么是裸庫?因為這個庫不是真正用來修改的,我們也不允許在服務(wù)器上修改代碼,我們只是把它當(dāng)作一個代碼中轉(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的操作

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

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

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

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

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

相關(guān)文章

  • 使用Git工具實現(xiàn)上傳本地項目到GitHub的方法

    使用Git工具實現(xiàn)上傳本地項目到GitHub的方法

    這篇文章主要介紹了使用Git工具實現(xiàn)上傳本地項目到GitHub的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Mac如何給應(yīng)用單獨(dú)設(shè)置語言

    Mac如何給應(yīng)用單獨(dú)設(shè)置語言

    這篇文章主要介紹了Mac如何給應(yīng)用單獨(dú)設(shè)置語言,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Visual Studio和Visual Studio Code之間有什么區(qū)別

    Visual Studio和Visual Studio Code之間有什么區(qū)別

    本文給大家介紹的是Visual Studio和Visual Studio Code之間有什么區(qū)別,希望對大家的學(xué)習(xí)能夠有所幫助
    2020-02-02
  • WebStorm 遇到的問題總結(jié)

    WebStorm 遇到的問題總結(jié)

    這篇文章主要介紹了WebStorm 遇到的問題總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 詳解文法的定義與分類(編譯原理)

    詳解文法的定義與分類(編譯原理)

    計算機(jī)的語言具有嚴(yán)格的語法、語義,易于形式化的特征,這篇文章主要介紹了詳解文法的定義與分類(編譯原理),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 提高編程技能的11個建議

    提高編程技能的11個建議

    當(dāng)你不熟悉編程的時候,你可能會覺得無從下手,并且不知道如何運(yùn)用學(xué)到的知識。只要你通過了這一困難的學(xué)習(xí)階段,你就會發(fā)現(xiàn)一個全新的世界
    2014-08-08
  • chatGPT使用及注冊過程中常見的一些錯誤解決方法(所有報錯匯總)

    chatGPT使用及注冊過程中常見的一些錯誤解決方法(所有報錯匯總)

    這篇文章主要介紹了chatGPT注冊報錯及使用過程中報錯匯總及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • JetBrains公司三大編輯器迭代循環(huán)模板快捷鍵詳解

    JetBrains公司三大編輯器迭代循環(huán)模板快捷鍵詳解

    這篇文章主要介紹了JetBrains公司三大編輯器迭代循環(huán)模板快捷鍵,如果快捷鍵無用,請到keymap中調(diào)整自己的快捷鍵,或者查看是否有應(yīng)用占用了該快捷鍵,需要的朋友可以參考下
    2022-04-04
  • 一不小心git rebase后出現(xiàn)(master|REBASE 1/10)的問題及解決辦法

    一不小心git rebase后出現(xiàn)(master|REBASE 1/10)的問題及解決辦法

    這篇文章主要介紹了一不小心git rebase后出現(xiàn)(master|REBASE 1/10)的問題及解決辦法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 關(guān)于git commit 命令解讀

    關(guān)于git commit 命令解讀

    這篇文章主要介紹了關(guān)于git commit 命令,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論