2015-04-17 56 views
3

我有一個Shiny服務器安裝,以及我的Shiny應用程序的Git倉庫。我開發了我的Shiny應用程序並將其推送到Git倉庫,我希望Shiny服務器從Git倉庫中加載最新版本的應用程序。我怎樣才能做到這一點?我目前手動更新應用程序的Shiny服務器文件夾,每次使用git pull將應用程序的新版本從我的開發機器推送到repo,但我想將該步驟從該過程中刪除。R:Git + Shiny服務器自動部署

回答

2

你可以使用git鉤子。 Git掛鉤允許您在操作完成時運行腳本。在你的.git文件夾裏面有一些帶有例子的hooks文件夾。

如果你這樣做了,你可能會想要使用post-receive鉤子,當你推到repo並且服務器完成接收新的提交時觸發。

你可以在這裏找到混帳掛鉤的更多信息:http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

下面是有關部分後收到鉤:

後收到

後的後收到鉤運行整個過程是 完成,可用於更新其他服務或通知用戶。它 採用與預接收掛鉤相同的stdin數據。示例包括通過電子郵件發送列表,通知持續集成服務器,或者更新票據跟蹤系統 - 您甚至可以解析提交 消息以查看是否需要打開,修改或關閉任何票據。 此腳本無法停止推送過程,但客戶端不會中斷 ,直到它完成爲止,因此如果您嘗試執行任何可能需要很長時間的任何操作,請小心。

下面是一個例子:

#!/bin/bash 
cd ~/webapps/site/ || exit 
unset GIT_DIR 
git pull 
+1

謝謝,這可能要花費一段時間來分析,但我會嘗試,讓你知道。 – tchakravarty