如果尚未使用章鱼部署支持服务,则阻止部署服务

Prevent deployment of service if supporting services aren't yet deployed with octopus

我们有一个分布式系统,其中包含许多相互通信的服务。

有时一项服务中的代码更改需要在另一项服务中部署一项功能。

我们使用 octopus 来部署所有很酷的东西,但我们真的想阻止服务在它们依赖的东西被部署之前被部署。

有没有办法用章鱼部署来做到这一点?

例如,我可以让一个服务的 nuget 包依赖于另一个包的明确版本范围吗?

如果您不想通过一系列 steps 将您的所有项目部署为一个大规模部署,将您的不同服务推送到不同的机器,那么我认为没有内置的使您的部署依赖于彼此的版本号的方法。 (请参阅 this uservoice suggestion in Octopus 询问该功能)

不过,我确实认为您可以编写一个 运行 的 powershell 脚本作为预部署步骤,并检查一个 nuget 包的版本号与存储在另一个 运行ge 中的版本.然后 ps 脚本可以相应地停止或允许部署。