我们是标签的重度用户,我对标签和回滚如何相互作用感到困惑。
我理解本文中的回滚级联(至少在序列中):
http://incyclesoftware.com/2014/03/understanding-rollbacks-release-management/
但是我不清楚当你使用标签时它会如何相互作用,即我们通过安装在它们上的功能(网络,数据库,服务)来标记服务器,并根据环境改变功能组合(即DEV)可能在同一台机器上运行网络和服务,但UAT和PROD将有单独的机器)
那么回滚是否会越过标签边界?例如,如果您的序列看起来像这样
+--Database tag --+
| Backup DB |
| | |
| Update DB |
| | | <- Runs against SQL server
| +--Rollback--+ |
| | Restore DB | |
| +------------+ |
+-----------------+
|
+---Web Tag-------+
| Do Stuff | <- Runs against WEB server
+-----------------+
|
+---Service tag----+
| Backup |
| | |
| Install new ver | <- Runs against Service server
| | |
| Smoke test |
| | |
| +--Rollback----+ |
| | Replace with | |
| | backup | |
| +--------------+ |
+------------------+
在服务标签内回滚会导致数据库标签执行它的回滚吗?回滚是否跨序列级联?
我还没有时间设置它并进行测试,所以我想我会问这个问题。
答案 0 :(得分:-1)
看来我错了......错误的记忆和所有这一切。回滚跨标签边界工作。
我通常建议不要使用回滚块,因为它们的行为通常是向后的,不可预测的,并且不会立即显而易见。目前的最佳做法实际上是根本不使用基于代理的版本,因为它们无法移植到即将发布的版本管理服务中。