我有几个应用程序,一些通过ClickOnce发布的WinForms以及我们使用vNext构建脚本构建的一些网站,并将其部署为这些构建脚本的最后一步,如果所有构建和单元测试都通过。我们为每个应用程序分配了两个分支,一个将构建并部署到临时区域,另一个分支用于生产。
使用TFS中的新版本管理功能,我假设我要将部署任务从构建定义移动到发布区域。但除了可能是批准按钮之外,这对我有什么用呢?
答案 0 :(得分:3)
嗯,这取决于......
如果您正在练习持续交付,那么您有一个直接部署到生产的分支。然而,许多人希望首先部署到暂存环境,然后将轮胎放在那里,然后部署到生产中。
但是,使用分支执行此操作是一个错误。这是一种重要的反模式,可能导致分期检测不到的生产故障。其中很大一部分原因在于合并,但由于编译器不具有确定性,因此您在升级中测试的内容与您在生产中部署的内容不同。
您应该更改模型,使其具有相同的构建输出流,通过各个阶段进行生产。这些阶段越少越好,理想的是一阶段。
在现代版本流程中,您始终在单个分支上“工作”,然后从该分支构建。如果您有要升级的构建,则创建一个版本,该版本通过不同的阶段跟踪构建的进度到生产,而不进行重新编译。