2012-06-14 70 views
0

我寫了一個客戶端 - 服務器應用程序。有一臺計算機運行服務器應用程序,以及幾臺運行客戶端應用程序的計算機。如何測試和部署分佈式應用程序?

到目前爲止,每次我有一個新的應用程序版本/補丁時,我首先通過VNC將二進制文件複製到服務器應用程序,然後啓動一個腳本,在客戶端執行一個腳本,即複製二進制文件到本地文件夾(網絡執行不起作用!)...然後客戶端應用程序在每臺客戶端計算機上啓動...

那麼,什麼是可以取代我的舊式方法的好機會?

我試圖創造出一種更新在點擊一次應用程序HTTP/FTP ...但沒有成功^^

+0

我使用了開源軟件部署。我建議使用wpkg .. http://wpkg.org/。它很容易使用。它使用javascript和xml實現。 –

+0

_I嘗試創建一個點擊一次的應用程序,通過http/ftp更新...但沒有成功_ - 你能更具體嗎?我多次使用Click Once over http。 – jrummell

回答

4

我們使用名爲普雷斯托一個開源的應用程序:http://presto.codeplex.com/

做初始設置後,只有兩個手動步驟,每個部署:
1.複製二進制文件的網絡位置
2.按普雷斯托按鈕來啓動一個新的部署

大贏與普雷斯托是你我們最初設置您的應用程序和服務器,併爲每個環境指定適當的配置設置。一旦啓動部署,安裝就會自動進行,並將正確的值寫入配置文件(QA獲取QA值,生產獲取生產值等)。

使用Presto,您可以停止服務,刪除文件夾,複製新的二進制文件,更新配置文件等等,而且它都是自動化的。

1

這就是爲什麼web前端是如此受歡迎:)

試圖實現良好的自動更新機制和版本。客戶端具有硬編碼服務器版本,首先與每個呼叫服務器通話都包含自己的版本。版本不匹配時 - 自動更新的時間。在服務器上 - 只是下載客戶端應用程序安裝的端點,這是各個版本的標準。

因此,客戶端具有外部更新程序進程,這是在客戶端知道存在新版本後啓動的。更新程序進程的目標是下載新的安裝/程序包,並且要麼運行將更新/重新安裝客戶機的安裝程序,要麼解壓縮和複製新的/修改的文件。

當不使用某些外部庫時。過程看起來像這樣。

點擊一次是另一種方法,也應該工作。

Similr問題就在這裏

Auto update .NET applications

反正可能就是你的客戶端應用程序需要一個良好的安裝程序。當你安裝了安裝程序來實現簡單的下載/更新和版本服務。

0

用較少的代碼來做這件事並不難。

  1. 在您的應用程序中設置http服務。
  2. 創建一個當前版本列出的文件。
  3. 在應用程序中設置一個ftp服務來提供新的二進制文件。
  4. 將Updater.exe應用程序添加到客戶端,這將通過http檢查新的更新並通過ftp下載新版本。還應該創建客戶端版本文件。

所以你只需要再做一次老式的方法,就完成了! 現在我不知道客戶端應用程序是否可以運行服務器,如果是這種情況,我會建議您從服務器應用程序中分離服務(http,ftp)。

相關問題