在 Azure Devops 中,我的组织有一个代理池来管理构建请求,其中所有代理都是虚拟机。但是,由于工作负载是可变的,这些虚拟机在相当长的时间内处于空闲状态。我们非常希望进行更改,以便在请求进入时动态创建虚拟机并将其添加到代理池中,然后在不需要时销毁虚拟机。Azure Devops 中是否有支持此操作的方法?
我们熟悉 Microsoft 托管代理,但认为这在我们的环境中不起作用。我们还在研究使用 REST API 创建更复杂的自定义解决方案,以尝试测量需求并适当地配置/取消分配虚拟机,但如果存在更简单的方法,这将对我们非常有帮助。
非常感谢!
答案1
这里有一个有趣的例子,使用 Azure Functions 和容器按需配置无服务器构建 -https://noelbundick.com/posts/serverless-vsts-build-agents-with-azure-container-instances/
如果您必须使用虚拟机作为代理,那么您可能可以调整它以与规模集之类的东西一起工作。容器的创建速度显然会更快。