我们使用 Azure Pipeline 来实现我们的持续集成管道。该应用程序部署在我们需要预配和配置的虚拟机中。在将代码放入其中之前,我们需要在目标虚拟机上部署一些库、补丁、配置和应用程序。
问题是配置和配置这些虚拟机的最佳工具是什么?我正在考虑使用 Ansible AWX。基本上,Azure Pipeline 会调用 AWX API,然后 AWX API 会从那里获取数据并完成工作。
有一个 Azure Pipeline 扩展,允许我执行剧本 https://github.com/microsoft/azure-pipelines-extensions/blob/master/Extensions/Ansible/Src/readme.md 。但我想改用 AWX,以便我的 ansible/部署代码与我的管道解耦。
有什么建议吗?
最佳答案
据我所知,Ansible 允许您在环境中自动部署和配置资源。它可以满足您的需求。
正如您所说,Azure Pipeline 支持在 Ansible
任务 ( Ansible extension ) 中运行 playbook。
所以我认为你可以直接在azure pipeline中完成VM配置
和代码部署
。
如果您想将这两个步骤分开,可以将它们分为两个管道(VM 配置和代码部署)。为了避免配置和部署代码之间的混淆,您还可以将它们拆分为两个存储库。
另一方面,如果您在 azure 管道中运行 playbook,azure 管道还支持添加任务来更改 playbook 中的参数(例如 Replace Token )。
这里是an operation guide about using Ansible in Azure Pipeline .
顺便说一下,如果虚拟机是Azure VM,您也可以使用ARM template更新 Azure VM 资源。
关于Azure Pipeline 到 Ansible AWX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63044569/