我们正在使用团队服务维护我们的网站项目,并使用 Azure 进行托管。目前,有几个 Web角色(asp mvc)和 Worker Roles ,它们被托管为云服务。我们将为他们设置持续集成和交付。
如您所知,团队服务构建定义建议使用 Azure云服务模板来构建和 Azure云服务部署任务进行部署。我们已经尝试过单一云服务,但它确实有效。
在我们的案例中,Web项目(Web角色)和调度程序(worker角色)作为单独的云服务,它们应该同时(按顺序)部署,让它成为DEV环境。但是我们有更多的环境:dev,qa,ta,demo,preview,production等。此外,它们每个都有不同的 web.config,ServiceDefinition.csdef和ServiceConfiguration.cscfg 。而且只需部署一个 Cloud Service 即可完成更复杂的任务。
问题是:
我们是否应该构建数十个 Cloud Service pachages (工件),然后决定部署哪些?你能建议如何以适当的方式做到吗? (在大多数情况下,它只是Dev环境,我们将浪费时间和资源来构建其他工件)。
构建一个公共工件并稍后替换特定环境的所有配置会更好吗? (这是一项更复杂的任务,因为Cloud Service软件包已经多次使用预先配置的ServiceDefinition和ServiceConfiguration压缩)
如果您建议任何最佳做法,我将不胜感激。
答案 0 :(得分:0)
对于azure云项目,最好在构建之前将更改应用于环境,这样您就可以在发布过程中构建项目。
关于部署到相应的环境,您可以使用构建标记配置工件过滤器。
例如:
Write-Host "##vso[build.addbuildtag]build tag"
)另一方面,关于替换值,有很多方法,例如Replace Tokens,XDT Transform