使用Azure DevOps Server 2019将Docker容器上的ASPNETAPP部署到Windows VM

时间:2020-02-21 08:33:02

标签: azure docker azure-devops

我当前正在使用Azure DevOps Server 2019(内部部署)来部署ASP.NET App(CI-CD)。

是否可以将该应用程序部署为通过Docker容器运行到Windows VM?

我目前正在关注此链接上的示例,以了解如何在Docker容器上运行ASP.NET App。

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-3.1

我如何利用Azure DevOps Server 2019做到这一点。

基本上,不是所有的资源/指南/方法中的大多数都将部署指向了Azure云或Docker中心。

1 个答案:

答案 0 :(得分:0)

是否可以将该应用程序部署为通过Docker容器运行到Windows VM?

是的,您可能需要在将应用程序部署到的Windows VM上创建一个自托管代理。您只需使用powershell任务即可在自托管代理上运行docker builddocker 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上托管)以运行管道(包含自托管代理的代理池是在创建自托管代理时决定的。代理商。)