虽然 Octopus Deploy 可以做很多事情,但在您的这个特定场景中,您要求它执行三种类型的工作 - 发布管理、自动配置和配置管理。这是自动化令人敬畏和真正棘手的情况之间的一条细线。
在您提出的任务中,几乎所有这些任务都可以在今天的 Octopus 中完成。我认为创建云服务或虚拟机是可能的。如果有一些 PowerShell cmdlet/库允许您通过身份验证启动虚拟机,那么您很可能可以使用 Octopus - 但它可能不是今天完成这项工作的正确工具。为什么?
在我看来,它扭曲了开发人员、DevOps 和系统管理员之间的障碍。无论您使用 Chef、Puppet、Salt 等,无论您拥有何种配置管理,都需要一整层具有专业知识的用户来支持它——通常说的系统专业知识是想要这种灵活性的开发人员可能不具备的。其次,目前这还不是 Octopus 的重点。我很难说是否使用诸如 Octopus 之类的工具来确定它可以做什么和不应该做什么。
很高兴 Azure 现在支持为 VM预安装 Octopus 触手。但这需要额外的信息,例如服务器指纹、端口等补充配置信息,以便自动配置虚拟机。那个配置管理——它应该在 Octopus 的控制之下,还是像 Chef 或 Puppet 这样的东西?老实说,我对此没有答案,但我现在的感觉不是章鱼。也许有一天,但在它真正准备好并经过全面测试和审查之前,我至少会在 Octopus 上等待它(稍微)。
如果你是喜欢冒险的人,那么一定要试试八达通。我可能会在今年晚些时候对这种基础设施自动化进行 PoC(概念验证),但是今天依赖它作为基础设施自动化的主要手段用于业务/生产用途将是有风险的,并且需要大量的工作和实验。同样,我并不是说它不能完成,我质疑是否应该在今天的回复中在 Octopus 内完成。
如果有的话,从 Octopus Deploy 的角度来看,这是否可行?是的——只是还没有完全解决。看看你想要做什么,我会说这是一个两阶段的过程:1. 启动新 VM,将触手附加到环境和 2. 在新 VM 上运行部署过程。
我还建议您查看 Octopus 博客。他们公开谈论基础设施自动化。你可以在这里阅读:http: //octopusdeploy.com/blog/rfc-cloud-and-infrastructure-automation-support
我希望这个回应在某种程度上有所帮助。