2011-07-12 31 views
3

我正在開發一個分佈式解決方案(用.NET編寫),其中包含WCF服務,Windows託管服務以及對其他本機和託管解決方案的依賴關係。該項目的主要目標是對另一個分佈式系統進行各種測試。將配置腳本放置在CI配置中的源代碼管理中的位置?

通過在TeamCity中單擊來部署構建。測試工具和測試分佈式系統的二進制文件轉到共享文件夾。爲了部署它,我有一些.bat和PowerShell腳本,它們也位於共享文件夾中。我經常在腳本上工作,並且他們得到更新,所以我想讓他們保持在源代碼控制中。

存儲部署腳本的可能位置是什麼?

現在我在解決方案中有一個專門的文件夾,但我不太確定這是一個好方法。我還沒有想出將腳本部署到每個TeamCity版本上的共享文件夾的方式。我說的是

 
/solution 
    /app [test harness code] 
    /test [unit, functional, integration, capacity tests] 
    /deployment 
     /scripts [.bat and .ps1 scripts only] 
     /TeamCity [copy binaries to share folder on TeamCity] 
     /VM [scripts for installation of test harness and unit under test] 

UPDATE
部署腳本應存放在Team市計算機上的共享文件夾。在測試場景中,多個VM將這些腳本複製到本地文件夾,然後執行它們。根據腳本和VM分配,將不同的二進制文件複製到VM並執行不同的安裝。腳本通常是100行,但每個組件都有很大不同,並且會不斷更新。

我存儲在一個Visual Studio 解決方案文件夾腳本沒有.csproj的文件,因此當團隊市簽出從庫中的代碼,他們不會被複制,因此我無法將它們複製到共享文件夾。

回答

0

看起來不錯。如果我將進行持續集成,我通常會做類似的事情。

編輯:我剛剛注意到有關將腳本部署到共享文件夾的部分。你究竟是什麼意思?你的腳本是否也受源代碼控制?

+0

感謝您的回答。是的,我需要這些腳本來源控制,因爲它們很複雜。我還需要在TeamCity構建的共享文件夾中重寫它們。 – oleksii

+0

對不起,我剛剛注意到你已經提到過了。將它們作爲構建過程的一部分包含在構建工件中怎麼樣?就像在msbuild中使用複製任務一樣?假設這就是你正在使用的。 –

+0

構建工件存儲在一個單獨的位置,並且每個位置都會發生更改,我無法將其指向共享文件夾。另一方面,我不能在屬性中生成Copy-IfNewer文件,因爲它們不在.csproj項目下,並且此選項不可用。 – oleksii