2011-04-21 91 views
6

我们希望设置连续部署,以便在每次检入时复制文件,创建网站并更新数据库。这对于现在使用大量的C#并从C#中调用它可以正常工作。

我们要添加断言/检查,以确保服务器是正确的版本,网址正在努力,密码是否正确等

那种我想要的就是SQL Server 2008的安装程序,它有一个列表检查它在安装之前执行。我想从unittests/powershell运行它,如果可能的话还要添加一个GUI,以便系统团队可以“检查”服务器的状态。

有没有一个很好的任务框架?是否有持续部署框架?

  • 团队市
  • C#
  • NUnit的
  • PowerShell的
  • IIS,SQL服务器,MSMQ等
+0

对于SharePoint,但在http://sharepointinstaller.codeplex.com上有这样的项目。它做一些预安装检查等。值得一看,但我不能评论代码质量。 – 2011-04-21 12:14:53

回答

1

使用TeamCity,它确实很容易设置并运行。 检查演示和文档。 http://www.jetbrains.com/teamcity/

或者你可以参考: NUnitForms有一个“隐藏桌面”功能,可以让你从cc.net运行单元测试。

http://automaticchainsaw.blogspot.com/2007/09/winforms-testing-using-nunitforms.htmlhttp://automaticchainsaw.blogspot.com/2007/09/hidden-desktops-and-nunitforms.html

如果你想使用一个单一的csproj和控制元素,如基于特定构建配置的组件名称。然后,您正在寻找MSBuild属性上的条件元素:

<AssemblyName Condition="'$(Configuration)' == 'Release-Prod'">Foo</AssemblyName> 
<AssemblyName Condition="'$(Configuration)' == 'Release-Test'">Foo-Test</AssemblyName/> 
0

在Opscode公司厨师或木偶看看 - 你以后在做什么基础设施自动化。这两种工具现在都支持Windows自动化,而且它们都允许您自动构建环境。

您还可以看看DbDeploy,一种用于控制和跟踪数据库更改的工具。

0

我们正在使用内置于TFS中的发布管理。 http://www.visualstudio.com/en-us/explore/release-management-vs.aspx

它运行了我们的门控签入,使所有单元测试运行,然后在我们的集成实验室的所有编码的UI测试,然后部署到我们的服务器(网络,数据库和服务层)。它还处理确保服务器具有适当的配置。 使用此工具,我们可以在每次办理登机手续后将其部署到生产环境。