[Azure代理通常按以下方式使用,它被命名为池并带有VM映像标题
pool:
vmImage: 'ubuntu-16.04'
可以将azure DevOps服务中的托管代理视为由azure DevOps服务管理的VM中的容器吗?
您的Yaml将在VM上运行
Azure管道可以在VM或容器中运行。每次运行Azure管道时,都会获得一个新的虚拟机。使用一次后,虚拟机将被丢弃。 Microsoft托管的代理可以直接在VM或容器中运行作业。
一个容器Yaml
pool:
vmImage: 'ubuntu-16.04'
container: ubuntu:16.04
steps:
- script: printenv
这告诉系统从Docker Hub获取标记为16.04的ubuntu映像,然后启动容器。当运行printenv命令时,它将在ubuntu:16.04容器内发生。
是否可以将Azure DevOps服务中的托管代理视为由azure DevOps服务管理的VM中的容器?
严格地说,no,您不能。
vmImage
的关键字不是指向容器,它只是虚拟机的映像,是VM的副本。此副本包含操作系统,数据文件和一些我们预先配置的内置应用程序,以方便用户使用。
如果要与托管的vmimage一起执行Container jobs,则可以使用Eldho的建议。注意:到目前为止,容器作业仅支持YAML管道。