2008-12-05 63 views
2

我在我們的域內建立了服務器(它需要是因爲它也與域中的其他框對話)以及DMZ中的web服務器。如何使用Nant/TeamCity部署跨DMZ?

作爲我們構建腳本的一部分,我想使用Nant複製任務將網站部署到DMZ中的網絡服務器。問題是,Nant是從構建服務器上的System帳戶下運行的TeamCity調用的,我無法找到將構建服務器系統帳戶訪問權限授予DMZ Web服務器目錄的方法。 (無論如何,這可能不是一個好主意)。

有沒有辦法告訴Nant在不同的windows用戶下運行特定的任務,還是有其他解決方案來解決我的問題?

編輯:我在其中運行的另一個限制是我無法創建新的域帳戶(至少在沒有經過審批流程的情況下)。我可以創建本地計算機帳戶,但在這種情況下,似乎並不能在DMZ中使用runas。

回答

2

一對夫婦的選擇可能是:

  1. 使用Simple Command Runner給exec出來的東西像runas,指定nant.exe根據不同的用戶帳戶下運行。
  2. 更改TeamCity服務器運行的帳戶;就像有權限訪問DMZ的特權用戶一樣。
  3. 嘗試使用NAntContrib提供的<scp>(安全副本)任務。
  4. 使用nant <exec>任務調用一個ftp程序,將文件放在DMZ上。

希望這可以提供一些幫助。祝你好運!

0

您可以使用powershell remoting從構建服務器中獲取發佈。與使用像文件副本這樣的推送版本相比,服務器的脆弱性要弱一些。

我正在做一個自定義應用程序,它登錄到teamcity並下載工件,然後在本地使用powershell進行部署。