在CI配置中将部署脚本放置在源代码管理中的位置?

时间:2011-07-12 20:31:27

标签: .net deployment build-automation teamcity

我正在研究一种分布式解决方案(用.NET编写),该解决方案包括WCF服务,Windows托管服务,并且依赖于其他本机和托管解决方案。该项目的主要目标是对另一个分布式系统进行各种测试。

只需在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]

更新
我正在谈论的部署脚本应该存储在Team City机器的共享文件夹中。在测试方案中,多个VM将这些脚本复制到本地文件夹,然后执行它们。根据脚本和VM分配,将不同的二进制文件复制到VM并执行不同的安装。脚本通常是< 100行,但组件之间有很大不同,并且不断更新。

我将脚本存储在没有.csproj文件的Visual Studio 解决方案文件夹中,因此当Team City从存储库中检出代码时不会复制它们,因此我无法将它们复制到共享文件夹中。

1 个答案:

答案 0 :(得分:1)

对我来说很好看。如果我要进行持续集成,我通常会做类似的事情。

编辑:我刚刚注意到有关将脚本部署到共享文件夹的部分。你到底是什么意思?您的脚本是否也受源代码管理?