Deployment 自动化构建和发布管理VS2012
为了让我的生活更轻松,目前我们有4名开发人员在Visual Studio 2012中工作,我们正在使用TFS 2012进行源代码控制。我们所从事的项目是一个多租户web应用程序(具有多个数据库的单源目录),它是传统、asp和vb6 com组件的混合体,再加上新的C#代码。我们使用TFS进行源代码控制,并管理用户故事和bug。由于我们网站的工作方式,它不能仅在服务器上本地运行或调试。 源代码管理目前为每个开发人员设置了一个单独的分支,其工作目录映射到开发人员服务器上的共享网络路径,该服务器在IIS中有指向它的网站。Dev01-Dev05等。开发人员在他们的分支中处理项目,使用他们的开发网站测试它,然后将更改签入到他们自己的分支中,并将这些更改合并到主干中。主干的工作空间映射到主开发网站,以便开发人员可以根据其他客户的开发域测试他们的更改,以根据连接到的特定数据库测试定制和功能差异 很长的解释,但基本上每个开发人员都有一个分支和一个站点,然后将它们与自己的站点合并到主干中 为了部署我们的暂存服务器:Deployment 自动化构建和发布管理VS2012,deployment,build-automation,redgate,Deployment,Build Automation,Redgate,为了让我的生活更轻松,目前我们有4名开发人员在Visual Studio 2012中工作,我们正在使用TFS 2012进行源代码控制。我们所从事的项目是一个多租户web应用程序(具有多个数据库的单源目录),它是传统、asp和vb6 com组件的混合体,再加上新的C#代码。我们使用TFS进行源代码控制,并管理用户故事和bug。由于我们网站的工作方式,它不能仅在服务器上本地运行或调试。 源代码管理目前为每个开发人员设置了一个单独的分支,其工作目录映射到开发人员服务器上的共享网络路径,该服务器在IIS
谢谢非常详细地描述了您的流程。谢谢分享 我相信您可以在单个分支上设置TFS,如果您可以在主干上设置TFS,则可以确保成功构建合并。这可能会触发msbuild,前提是您可以获得该工作或自定义生成作业 如果您可以让它工作,那么您就可以使用该中继代码作为工件发送到部署管理器。这样就避免了必须通过TFS更改集组装用于部署的文件,因为您可以确信主干始终可以构建 您是否使用部署管理器从源代码管理和应用程序部署数据库 这可能是进一步自动化流程的一种方法。并允许您对数据库的结构进行源代码控制,在每次签入时使数据库保持最新,以及运行数据库单元测试。它们还为部署管理器生成数据库包,因此您可以部署同时包含应用程序和数据库的版本 如果您想向我发送您在步骤4中使用的命令,以便使用部署管理器部署版本,我可以提供帮助。我使用的命令是:
DeploymentManager.exe --create-release --server=http://localhost:81 --project="Project Name" --apiKey=XXXXXXXXXXX--version=1.1
DeploymentManager.exe --deploy-release --server=http://localhost:81 --project="Project Name" --apiKey=XXXXXXXXXXX--version=1.1 --deployto=CI-Environment-Name
这将使用该项目的最新可用软件包创建版本1.1。您可以选择指定在使用创建发布时要使用的包
--packageversion=<package name>=<version>
--packageversion="application=1.5
——packageversion==
--packageversion=“应用程序=1.5
返回并开始尝试让TFS生成/发布我的web解决方案。我能够成功完成生成。添加msbuild参数/p:DeployOnBuild=True并将msbuild平台设置为x86似乎可以解决这个问题。
然后,我找到了一个构建过程模板,可以使用redgate工具进行打包和部署。在玩了一会儿之后,我终于找到了创建、打包和部署我的构建到我们的暂存环境的模板
下一步是修改模板以运行一些自定义脚本,仅收集要部署的正确项,部署所有sql文件,然后在完成后将工作项设置为适当的状态。我将使用TFS Build。您说您尝试了,什么不起作用?似乎无法为msbuild获取正确的参数以编译这里是我当前构建的方式:aspnet_编译器-p{sitefiledir}-v/-f-u{publishlocation}-fixednames-nologo-c-errorstack我从发布位置抓取编译后的文件并部署它们。使用tfs时,我没有发现如何在没有sln或csproj文件的情况下实现这一点,为了模拟上面的输出感谢您的回复,我在