在本系列文章的第一篇中,学习了概念、术语、涉及的技术、安装Jenkins、创建ASP.NET Core应用程序以及使用Jenkins实现ASP.NET Core应用程序的持续集成。本文将介绍如何将ASP.NET Core应用程序发布到Azure App Service,并在Azure上配置Jenkins,以便进行持续集成和部署。
将遵循以下路线图来全面学习在Azure Web App上使用Jenkins实现ASP.NET Core应用程序的持续集成和部署(CI/CD)的端到端开发和配置。
使用Jenkins实现ASP.NET Core应用程序的持续集成。
发布ASP.NET Core应用程序到Azure App Service并配置Azure上的Jenkins。
将Jenkins与Azure Active Directory和Service Principal集成。
使用Jenkins Azure Pipeline实现ASP.NET Core应用程序的CI/CD。
在开始本文之前,请先阅读本系列文章的第一篇。 开发人员在开始之前需要在机器上具备以下先决条件:
已经在本地配置并测试了Jenkins。现在是时候将Web应用程序发布到Azure,使用Azure Web App服务,并在那里配置Jenkins以实现持续集成和部署。
Jenkins的角色是从Azure上的GitHub获取代码,编译它,如果成功编译,则将更改发布到部署的网站。为此,应用程序已经需要在Azure App Service上预配置。
首先,让将应用程序部署到Azure并使其在公共URL上运行。
在Visual Studio中打开应用程序的解决方案文件。右键单击Web项目,然后单击“发布”。
在下一个屏幕上,选择“App Service”并选择“创建新”选项。单击“发布”。
当单击“发布”时,系统会要求创建一个应用服务。如以下图像所示,提供所需的字段。
提供所有详细信息后,单击“创建”。这将需要一些时间来创建应用服务并将应用程序部署到该应用服务。
部署完成后,将在浏览器中打开部署的应用程序的URL。如在这里看到的,应用程序已部署在Azure上,并具有公共URL,在这里看到的主机名来自Azure上的托管机器。
在Azure门户上验证相同的内容。登录到Azure门户,可以在仪表板上找到在创建应用服务时提供的名称的新资源。导航到门户上的该资源以检查资源组和URL。资源组是在发布时提供的相同的资源组。
将在Azure上配置Jenkins服务器,并将应用程序集成到CI和CD中。
在继续之前,请卸载在本地机器上安装的Jenkins,并删除在程序文件中创建的Jenkins文件夹。
在本地开发机器上安装并使Jenkins运行。让看看如何在Azure上配置它。
在Azure门户上,创建一个新资源,并在搜索选项中搜索Jenkins,如下所示:
Jenkins资源从Azure Marketplace加载,单击“创建”以在Azure上部署新的Jenkins服务器。
在表单上提供所需的信息,然后单击“确定”。
填写附加设置表单。
在集成设置中,选择“否”以启用云代理。
单击“确定”以完成。在摘要上,验证详细信息,然后单击“确定”。
在“购买”页面上,阅读条款并单击“创建”。创建和部署Jenkins服务器需要一些时间。
Jenkins部署完成后,是时候解锁它了。这与在开发机器上本地执行的方式有所不同。
在门户上,导航到新创建的Jenkins资源组。
在资源组页面上,单击新创建的Jenkins虚拟机。
看到这里的操作系统是Linux,因为在Linux上部署了Jenkins服务器,将使用Linux方式来解锁Jenkins。复制VM的DNS名称。
在机器上打开浏览器,并浏览复制的DNS名称。这将打开一个Jenkins页面,可以在其中获取SSH字符串。复制该字符串。
打开命令提示符,并在复制的SSH字符串中,将“用户名”部分替换为Jenkins VM用户名。在例子中,它是“Jenkins”。在创建Jenkins服务器时在基本设置中提供了这个。现在将修改后的字符串粘贴到命令提示符中,然后按Enter。
这将要求提供Jenkins VM的密码。输入在创建Jenkins服务器时提供的密码,然后按Enter。这将登录到Jenkins VM,即Linux机器,并打开一个SSH会话。现在可以在该终端上使用Linux命令。
要解锁Jenkins,需要从安装在Linux机器上的Jenkins中获取一个管理员密码。键入命令“sudo cat /var/lib/jenkins/secrets/initialAdminPassword”以检索初始管理员密码,如下所示。
现在在本地机器上,再次浏览到URL http://localhost:8080,这将显示解锁Jenkins的屏幕,提供上一步中检索到的密码,并解锁Jenkins。单击“继续”。
在入门页面上,安装建议的插件,即默认选项。
提供创建管理员用户的详细信息。
这使得Jenkins在URL http://localhost:8080上运行。