在本教程中,将学习如何使用Azure DevOps和Docker将Web应用部署到Microsoft Azure的Web App Service。这个过程包括手动部署应用,设置持续集成(CI)和持续部署(CD)的流水线。
在开始之前,请确保已经具备以下条件:
在进行自动化部署之前,首先手动部署应用,以确保其正常工作。
恭喜!已经成功地将应用作为Docker容器部署到了Microsoft Azure App Services。
现在是时候检查应用是否真的在工作了。
如果应用没有工作,首先检查日志。为此,转到“设置 > 容器设置”,将看到日志。
为了使发布流水线能够自动在Azure App Services上部署应用,它需要访问Azure资源。
现在,是时候通过在Azure中创建发布流水线来自动化下一个发布。
现在,让向流水线添加一个工件。点击“添加工件”,选择Docker Hub作为源类型。从下拉菜单中选择在前一篇文章中设置的服务连接。
选择想要为应用设置的命名空间和仓库。对于“默认版本”,可以选择“最新”或“在发布创建时指定”。这取决于需求。
如果选择“最新”,必须确保总是在构建流水线中将Docker镜像标记为“最新”。更喜欢使用另一个选项。
现在,需要向发布流水线添加一个阶段。点击“添加一个阶段”,选择“Azure Web App on Container Deploy”,并给它一个名字。然后切换到“任务”标签。
任务列表中的第一个条目是代理设置,将选择“Hosted Ubuntu 1604”作为代理池。其余的可以保持不变。
现在,选择第二个任务,在Azure订阅下,选择在前面步骤中设置的服务连接。之后,它会给一个应用程序列表供选择。最重要的是镜像名称。因此,请确保它与在构建流水线中设置的完全相同。
几乎完成了。但是,还没有启用发布流水线的自动触发器。让现在来做这件事。
最后,是时候测试到目前为止所做的一切了。
花点时间改变一些东西,可以用它来验证一切是否正常工作。实际上,也可以参考Azure App Service的日志,以验证当前正在运行的Docker镜像的标签。
首先,开发了一个基于ASP.NET Core的Web应用,并将代码放入了GitHub仓库。之后,设置了一个构建流水线,自动为应用构建Docker镜像,然后将其推送到Docker Hub。接下来,在本文中,创建了一个发布流水线,自动将应用作为Docker容器部署到Azure Web App服务上。