2011-09-23 40 views
1

有什麼方法可以將git用作應用程序的自動更新機制。就像google chrome所做的一樣(或者Github for Mac)。使用git自動更新應用程序

我想要創建一個包含整個應用程序(包括二進制文件)的中央git倉庫,並且能夠使應用程序從後臺的倉庫中進行更改。新版本應該在下一次啓動時安裝。

謝謝

回答

0

你不是在回答自己的問題嗎? Git將啓動您的應用程序。在git pull之後,您可以運行一些腳本來執行特定於更新的操作。

如果你有一個web應用程序,我不會對你的應用程序的每個請求做這件事,而是每隔N分鐘運行一次cron作業。

0

它可能看起來像個好主意,因爲git在存儲文件delta方面非常高效,但在不存在之後:您必須將git與您的應用程序一起嵌入。不確定這是否是需要的。

最好看看courgette中,Chrome的自動更新機制(僅適用於Windows AFIK),和最投票回答標籤

-1

你總是可以像在服務器中的文本文件中的解決辦法,將存儲最後的版本。在軟件啓動時,下載此文件,驗證文件的版本是否與已安裝軟件的版本不同,然後下載新版本安裝程序並運行它。

是實現很簡單...

+0

你應該處理的事實該OP談到git – CharlesB

+0

我只是給它另一種選擇... – caarlos0

4

我做的,使用Git的作爲autoupdater的Java程序。程序所做的是檢查CurrentVersion.txt的原始文本。如果該數字大於程序版本,則從git repo下載更新程序。更新程序然後作爲版本之間的媒介並刪除舊版本,並將其替換爲新下載的版本。這很簡單。

0

如果你在Windows機器上,你可以用我的graphic solution

或者創建一個DOS批處理文件,我所採取的方式 這裏是我的solution

rem first install GIT Bash 
rem then add C:\Program Files\Git\bin to the environment variable PATH and reboot you PC 
set VisualStudioVersion=2012 
set VisualStudioName=Visual Studio %VisualStudioVersion% 
cd \ 
cd %userprofile% 
cd "Documents" 
cd %VisualStudioName% 
cd "Projects" 
echo Press a key to update all choosen git repositories if you're in the correct directory otherwise press CTRL-C to cancel 
pause 
cd AddFeatures 
git pull origin master 
cd .. 
cd CodeGeneration 
git pull origin master 
cd ..