使用Azure DevOps Server 2019将docker容器上的ASPNETAPP部署到Windows VM
我目前正在使用Azure DevOps Server 2019(内部部署)部署ASP.NET应用程序(CI-CD) 是否可以将此应用程序部署为通过docker容器运行到Windows VM 我目前正在按照这个链接上的示例介绍如何在docker容器上运行ASP.NET应用程序 我如何通过使用Azure DevOps服务器2019来做到这一点 基本上,并非所有的资源/指南/操作指南都指向azure云或docker hub 是否可以将此应用程序部署为通过docker容器运行到Windows VM 是的,这是可能的,您需要在部署应用程序的Windows VM上创建自托管代理。您只需使用powershell任务在自托管代理上运行使用Azure DevOps Server 2019将docker容器上的ASPNETAPP部署到Windows VM,azure,docker,azure-devops,Azure,Docker,Azure Devops,我目前正在使用Azure DevOps Server 2019(内部部署)部署ASP.NET应用程序(CI-CD) 是否可以将此应用程序部署为通过docker容器运行到Windows VM 我目前正在按照这个链接上的示例介绍如何在docker容器上运行ASP.NET应用程序 我如何通过使用Azure DevOps服务器2019来做到这一点 基本上,并非所有的资源/指南/操作指南都指向azure云或docker hub 是否可以将此应用程序部署为通过docker容器运行到Windows VM 是
docker build
和docker run
,而无需将映像上载到ACR/dockerhub
当然,您也可以像@Aravind提到的那样将构建的图像上传到ACR/dockerhub。并有一个powershell任务来提取图像
主要思想是使用powershell任务在Windows VM上托管的代理上运行docker命令。您可以参考以下步骤
1、创建自托管代理。请检查详细步骤
2、创建一个构建管道。
是创建yaml管道的示例。
是一个创建经典UI管道的示例
3、自定义生成管道,使用单个powershell任务运行docker build和docker run命令,如中所述。(您还可以使用来构建映像并将其推送到ARC/Dockerhub,然后使用powershell任务来拉取并运行映像,如@Aravind所述。)
注意:请确保Windows VM上安装了docker(powershell任务将调用VM上安装的docker cli)。并通过选择自托管代理所在的位置(包括自托管代理的代理池在创建代理时确定),选择自托管代理(托管在Windows VM上)以运行管道。自动生成部分在将映像上载到ACR/docker hub的点处结束。然后,您需要有一个powershell/bash脚本(远程使用VM代理),该脚本将从ACR中提取映像并启动该VM中的容器。感谢Aravind,我将尝试探索此解决方案。
steps:
- powershell: |
docker build -t aspnetapp .
docker run -it --rm -p 5000:80 --name aspnetcore_sample aspnetapp
displayName: 'PowerShell Script'