我们使用 TFS 构建我们的源代码,然后我们通过复制部署到不同的环境。我们正在寻找 Red Gate Release Manager 或 Octopus 来进行自动发布。但是,我找不到如何将 TFS 与这些工具集成的文档。关于如何将这些部署工具与 TFS 集成的任何建议。或者您是否有其他替代方案可以从 TFS 构建部署?
3 回答
我不确定 Red Gate 发布经理。我猜 Red Gate 内部也使用 Octopus 源代码。参考: http: //octopusdeploy.com/support/red-gate
此链接可以帮助您使用 Octopus Deploy using TFS http://octopusdeploy.com/blog/using-octopus-and-tfs-builds
你也可以考虑最近被微软收购的Inrelease,它与 TFS Build 配合得非常好。Microsoft 目前正在努力将其包含在 TFS 的下一个版本中。
要将 Deployment Manager 与 TFS 集成,您需要从构建定义中调用两个命令行:
- RgPublish.exe创建应用程序并将其发布到部署管理器。
- DeploymentManager.exe创建一个版本并(可选)部署到您定义的环境。
例如,在发布 ASP.NET Web 应用程序进行部署时,调用:
RgPublish /source="C:\Source Code\My Web App\MyWebApp.csproj" /configuration=Release /platform=x86 /target=feed:http://MyDeploymentManagerServer:8080/nuget/
要部署到相关项目的暂存区,请调用:
DeploymentManager create-release --server=http://MyDeploymentManagerServer:8080/ --apiKey=ABC94PPM3DZGHCQSIJRAPWE7TG --project=MyProject --deployto=Staging --waitfordeployment
从 TFS 调用命令行并正确记录消息和错误并不总是直截了当的。我创建了一个自定义构建模板,它允许将 Deployment Manager 工具更好地集成到 TFS 中。
集成 Octopus 和 TFS 的最佳方式是使用持续集成服务器,例如 JetBrains TeamCity。CI 服务器可以从源代码控制中提取您的代码,构建它,将代码包装在 NuGet 包中,然后使用 Octopus Deploy 或 RedGate deploy 发布它。TeamCity 有一个由 Octopus Deploy Team 开发的插件来帮助解决这个问题。