我当前正在使用Azure DevOps Server 2019(内部部署)来部署ASP.NET App(CI-CD)。
是否可以将该应用程序部署为通过Docker容器运行到Windows VM?
我目前正在关注此链接上的示例,以了解如何在Docker容器上运行ASP.NET App。
我如何利用Azure DevOps Server 2019做到这一点。
基本上,不是所有的资源/指南/方法中的大多数都将部署指向了Azure云或Docker中心。
答案 0 :(得分:0)
是否可以将该应用程序部署为通过Docker容器运行到Windows VM?
是的,您可能需要在将应用程序部署到的Windows VM上创建一个自托管代理。您只需使用powershell任务即可在自托管代理上运行docker build
和docker run
,而无需将映像上传到ACR / dockerhub。
当然,您也可以按@Aravind所述将生成的映像也上传到ACR / dockerhub。并执行可拉图像的powershell任务。
主要思想是使用powershell任务在Windows VM上托管的代理上运行docker命令。您可以参考以下步骤。
1,创建一个自托管代理。请检查详细步骤here。
2,创建一个构建管道。 Here是创建yaml管道的示例。 Here是创建经典UI管道的示例。
3,自定义构建管道,按照the tutorial中所述,使用单个powershell任务运行docker build和docker run命令。 (您也可以使用docker task来生成映像并将其推送到ARC / Dockerhub,然后使用powershell任务来按@Aravind所述提取并运行映像。)
steps:
- powershell: |
docker build -t aspnetapp .
docker run -it --rm -p 5000:80 --name aspnetcore_sample aspnetapp
displayName: 'PowerShell Script'
注意:请确保在Windows VM上安装了docker(powershell任务将调用在VM上安装的docker cli)。然后选择自托管代理所在的agent pool来选择自托管代理(在Windows VM上托管)以运行管道(包含自托管代理的代理池是在创建自托管代理时决定的。代理商。)