Asp.net mvc 如何在VSTS发布管理中构建和部署具有多种配置的Azure云服务?
我们正在使用团队服务来维护我们的web项目,并使用Azure进行托管。目前,有几个Web角色(asp mvc)和工作者角色作为云服务托管。我们将为他们建立持续集成和交付 正如您所知,团队服务构建定义建议使用Azure云服务模板进行构建,并使用Azure云服务部署任务进行部署。我们已经在单云服务中尝试过了,而且效果很好 在我们的例子中,有web项目(web角色)和调度器(worker角色)作为独立的云服务,它们应该同时(按顺序)部署,让它成为DEV环境。但我们有更多的环境:开发、qa、ta、演示、预览、生产等。此外,每个环境都有稍微不同的web.config、ServiceDefinition.csdef和ServiceConfiguration.cscfg。这项任务比部署一个云服务要复杂得多 问题是:Asp.net mvc 如何在VSTS发布管理中构建和部署具有多种配置的Azure云服务?,asp.net-mvc,azure-devops,azure-pipelines,azure-cloud-services,azure-pipelines-release-pipeline,Asp.net Mvc,Azure Devops,Azure Pipelines,Azure Cloud Services,Azure Pipelines Release Pipeline,我们正在使用团队服务来维护我们的web项目,并使用Azure进行托管。目前,有几个Web角色(asp mvc)和工作者角色作为云服务托管。我们将为他们建立持续集成和交付 正如您所知,团队服务构建定义建议使用Azure云服务模板进行构建,并使用Azure云服务部署任务进行部署。我们已经在单云服务中尝试过了,而且效果很好 在我们的例子中,有web项目(web角色)和调度器(worker角色)作为独立的云服务,它们应该同时(按顺序)部署,让它成为DEV环境。但我们有更多的环境:开发、qa、ta、演示、
- 我们是否应该构建几十个云服务包(工件),然后决定部署哪一个?你能建议一下如何正确地做这件事吗?(在大多数情况下,这将只是开发环境,我们将浪费时间和资源来构建其他工件)
- 构建一个公共工件,然后替换特定环境的所有配置是否更好?(这是一项更复杂的任务,因为云服务包多次使用预配置的ServiceDefinition和ServiceConfiguration压缩)
- 在部署模式下替换配置令牌(web.config、serviceconfiguration等)的最佳方法是什么,或者应该在构建项目时进行替换
如果您能提出任何最佳做法,我将不胜感激。对于azure云项目,最好在构建之前将对项目的更改应用到环境中,这样您就可以在发布过程中构建项目 关于部署到相应的环境,您可以使用build标记配置工件过滤器 例如:
Write Host“##vso[build.addbuildtag]build tag”
)添加生成标记另一方面,关于替换值,有很多方法,例如,对于步骤3-您是否使用多个“发布-构建工件”任务来创建每个环境版本?@MikeW不,只需在发布期间构建项目。这是非常棘手的。如果有医生就好了。