我有一个包含Windows服务项目和Web应用程序项目的Visual Studio 2012解决方案。
我希望Team City(版本8.0.3)创建两个我将手动部署的zip文件(一个用于服务,一个用于Web应用程序)。
我是否应该创建构建步骤来构建整个解决方案,然后是构建步骤以发布Windows服务,以及构建步骤以发布网站(通过发布配置文件)。然后使用常规设置中的工件路径压缩这两个已发布的文件夹?
或者我应该只有一个构建步骤来构建解决方案,然后使用工件路径来创建两个zip文件?
还是有比上述任何一种更好的方法吗?
答案 0 :(得分:0)
你必须问问自己这两个项目是否相互关联以及它们应该以何种方式构建在一起。
我的感觉是:如果你的项目在同一个解决方案中,它们在某些方面是相互关联的,必须一起构建。
然后,您应该构建解决方案(sln
)而不是项目(*proj
)。
申请机构
通常,构建服务器不应该重新定义 - 应用程序的组织方式。您应该始终使用平台应用程序描述符来构建应用程序。
对于.NET和Visual Studio,the application descriptor is your solution(sln
)。它定义了需求以及如何构建应用程序。
如果您的项目必须单独构建,它们应该是不同的解决方案,除非您更喜欢创建特定的解决方案配置(除了Release& Debug)。 无论如何,解决方案仍然是构建入口点。
<强> TeamCity的强>
谈到TeamCity,不同的独立应用程序应该在单独的 构建配置 中。
纯构建(代码编译)应该在一个 构建步骤 中,并且您不应该在一个构建配置中使用太多代码编译运行程序。
您的构建配置应该反映您的应用程序场逻辑。
如果您需要以某种与包装相关的方式链接它们,您可以将 构建配置 链接到snapshot or artifact dependency。