2013-08-06 38 views
1

目前,我有一個套接字服務器,它監聽兩個端口(例如7777和7778)上的傳入連接並回復它們。數據存儲在RDS環境中,是訪問相同數據的更大Elastic Beanstalk環境的一部分。套接字服務器被實現爲Windows服務。到現在爲止還挺好。有用。但是,我在問自己,是否有可能讓套接字服務器也在同一個(或可能是另一個)Elastic Beanstalk環境中,但到目前爲止,我還沒有找到任何方法來做到這一點。Amazon Elastic Beanstalk中的套接字服務器

我的目標是

  1. 有一個更簡單的部署過程中,在生產的環境中,我需要的插槽服務器是負載平衡器後面,不希望部署在每一個窗口服務實例。
  2. 只有一個環境需要部署,以便每次在DAL中進行更改時我都不必部署(手動或自動)。

套接字服務器不需要實現作爲Windows服務,它只是現在。

一切都在C#中實現。任何幫助表示讚賞。

回答

0

我想,我得到了這個覆蓋。但是,我無法單獨部署Windows Service,但只能作爲Web應用程序的一部分。不過,在我的情況下並不是真正的問題。

我有這個場景的兩個項目;一個Web應用程序和一個Windows服務應用程序。

  1. 在構建服務器,我創建了Windows服務 可執行文件(使用zip.exe
  2. 在構建服務器的ZIP文件,我(使用s3.exe)上傳ZIP文件到一個S3桶
  3. Web應用程序的項目,我創建了一個.ebextensions目錄
  4. .ebextensions目錄中,我有一個whatever.config文件
    1. 從S3中取出ZIP文件,並將其解壓到我的首選目錄中的C-Drive上
    2. 調用批處理文件(ZIP文件的一部分),該文件使用InstallUtil.exe實用程序卸載並重新安裝Windows服務(部分。 .Net框架)
  5. 在我每晚構建(的完整解決方案),我使用awsdeploy.exeWeb應用程序部署到彈性魔豆。
    • 因此,我指向我的Web應用程序builds目錄中的configuration.txt文件。
    • 您可以使用Visual Studio中的手動Elastic Beanstalk部署來生成這樣的構建文件;但過了一段時間他們很容易。

現在會發生什麼事,是我每晚構建Web應用程序部署到彈性魔豆環境;部署將認識到存在配置並將執行上述步驟4中提到的步驟。由於Nightly Build在此之前創建並上傳了Windows服務的ZIP文件,因此我相信我將安裝最新的Windows服務。

我現在唯一的問題是,由於臭名昭着的標記爲刪除錯誤,Windows服務並不總是自行安裝。但這是另一回事。

我希望這有助於某人。如果任何人有一個建議來簡化這一點,他歡迎添加評論。

相關問題