一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Ruby - 使用git代替FTP部署代碼到服務器的例子

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

2020-04-18 11:03jser.me Ruby

這篇文章主要介紹了使用git代替FTP部署代碼到服務器的例子,這種方法可以節省流量、節省時間,需要的朋友可以參考下

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

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

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

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

服務器端操作

首先創建一個裸庫,為什么是裸庫?因為這個庫不是真正用來修改的,我們也不允許在服務器上修改代碼,我們只是把它當作一個代碼中轉的地方:

復制代碼 代碼如下:

cd gitroot
mkdir projectname
cd projectname
git init --bare

 

添加我們的hook

復制代碼 代碼如下:

cd /hooks
touch post-receive


編輯post-receive的內容為下面的,其中sites/projectname,是我們存放網站代碼地方

復制代碼 代碼如下:

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

 

本地git的操作

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

復制代碼 代碼如下:

git remote add publish [email protected]:/home/gitroot/projectname
git push publish master

 

可以強化的地方

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

延伸 · 閱讀

精彩推薦
  • RubyRuby進行文件信息輸出實例代碼

    Ruby進行文件信息輸出實例代碼

    Ruby進行文件信息輸出實例代碼,數據是隨機的,所以每次的記錄都會不同。 ...

    ruby教程網2962020-04-10
  • RubyRuby迭代器的7種技巧分享

    Ruby迭代器的7種技巧分享

    這篇文章主要介紹了Ruby迭代器的7種技巧分享,Ruby中的迭代器非常人性化,本文既是講解了7個技巧也是講解了7種迭代器,需要的朋友可以參考下 ...

    腳本之家4782020-04-20
  • RubyCentOS中配置Ruby on Rails環境

    CentOS中配置Ruby on Rails環境

    經過一個上午的折騰,終于把ROR環境在CentOS中搞定,繞了很多彎路,把文章寫下來總結一下 ...

    可樂加糖4762020-04-12
  • Ruby剖析 Ruby 訪問控制

    剖析 Ruby 訪問控制

    前面,我們說 Ruby 沒有函數,只有方法.而且實際上有不止一種方法.這一節我們介紹 訪問控制 (accesscontrols). 想想當我們在最高層而不是在一個類的定義里定義...

    ruby教程網3572020-04-08
  • RubyRuby簡潔學習筆記(一):字符串、數字、類和對象

    Ruby簡潔學習筆記(一):字符串、數字、類和對象

    這篇文章主要介紹了Ruby簡潔學習筆記(一):字符串、數字、類和對象,本文是學習筆記第一篇,需要的朋友可以參考下 ...

    腳本之家2472020-04-20
  • Ruby簡要說明Ruby中的迭代器

    簡要說明Ruby中的迭代器

    這篇文章主要介紹了Ruby中的迭代器,迭代器的概念在動態語言的編程中十分重要,文章中介紹了Ruby中的each迭代器和collect迭代器,需要的朋友可以參考下 ...

    goldensun2772020-04-25
  • RubyRuby環境下安裝使用bundler來管理多版本的gem

    Ruby環境下安裝使用bundler來管理多版本的gem

    這篇文章主要介紹了Ruby環境下安裝使用bundler來管理多版本的gem的方法,舉了Ruby On Rails中的應用實例來進行演示,需要的朋友可以參考下 ...

    日拱一卒4332020-05-10
  • RubyRuby設計模式編程中使用Builder建造者模式的實例

    Ruby設計模式編程中使用Builder建造者模式的實例

    這篇文章主要介紹了Ruby設計模式編程中使用Builder建造者模式的實例,建造者模式將一個復雜對象的構造與它的表示分離,使同樣的構建過程可以創建不同的表...

    范孝鵬2192020-05-07
主站蜘蛛池模板: 丝瓜视频看污片 | 欧美伊香蕉久久综合类网站 | 波多野 在线 | 亚洲男女在线 | 亚洲视频在线免费观看 | 热门小说同人h改编h | 四虎免费影院在线播放 | 国产主播福利在线观看 | 福利久草| 国产在线视频资源 | 国产精品欧美一区二区 | 亚洲精品久久久打桩机 | 91庥豆果冻天美精东蜜桃传媒 | 日本一区二区三区视频在线观看 | 成人免费视频一区二区三区 | 香蕉精品国产高清自在自线 | 亚洲国内精品 | 菠萝视频5正版在线观看 | 免费看美女被靠到爽的视频 | 果冻传媒在线视频观看免费 | 色老头oldmoneyvideos | 第一福利在线观看永久视频 | 国内精品久久久久久久 | 青青草原在线 | 欧美一级裸片又黄又裸 | 花房乱爱在线观看 | 国产欧美视频高清va在线观看 | 日产乱码卡1卡2卡三卡四在线 | avtt天堂在线 | 国模一区二区三区视频一 | 美女下面揉出水免费视频 | 四虎影院在线免费播放 | 黑白配高清hd在线视频 | xxxxx性欧美| 亚洲男1069gay男猛男 | 午夜福到在线4国产 | www.爱情岛论坛 | 热99精品只有里视频最新 | 免费稚嫩福利 | 九九精品国产亚洲A片无码 九九99热久久999精品 | 天天中文|