使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第2天

目录

主题

路线图

先决条件

将ASP.NET Core应用发布到Azure应用服务

在Azure上配置Jenkins

在Azure上创建Jenkins服务器

解锁Jenkins

结论


主题

本系列文章将说明如何在本地开发环境中为CICDASP.NET Core Web应用程序使用Jenkins,将Web应用程序发布到Azure Web App Service以及在Azure上配置Jenkins以便持续集成和持续部署托管应用程序。GitHubDevOps用作源代码控制存储库。我们将使用Jenkins创建一个管道,该管道从GitHub获取代码,构建代码,运行测试并部署程序包。这是对GitHub上代码的每次提交的重复性任务。

在本系列的第一篇文章中,我们了解了Jenkins的概念,术语,所涉及的技术,安装Jenkins,创建ASP.NET Core应用程序以及使用Jenkins通过两种方法(即管道方法和自由样式项目方法)对ASP.NET Core应用程序进行持续集成。在本文中,我们将继续进行下一步之前,将ASP.NET Core应用程序发布到Azure App Service并在Azure上配置Jenkins

路线图

以下是我们将遵循的路线图,以完全了解使用JenkinsAzure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)的端到端开发和配置。

先决条件

在开始本文之前,请阅读本系列的第一篇文章。

以下是开发人员在开始使用计算机之前的先决条件。

  1. Visual Studio 2017/2019
  2. 已安装Dotnet 2.1 SDK
  3. 免费/付费Azure订阅
  4. Java 1.5或更高版本
  5. Git帐户
  6. WindowsGit

ASP.NET Core应用发布到Azure应用服务

我们在本地配置和测试了Jenkins。现在是时候使用Azure Web App服务将我们的Web应用程序发布到Azure并在那里配置Jenkins以进行持续集成和部署。

Jenkins的作用是从AzureGitHub上获取代码,对其进行编译,如果编译成功,则将更改发布到已部署的网站。为此,已经需要在Azure App Service上配置该应用程序。

因此,让我们首先将应用程序部署到Azure并使其在公共URL上运行。

1、在Visual Studio中打开应用程序的解决方案文件。右键单击Web项目,然后单击发布

2、在下一个屏幕上,选择App Service,然后选择Create New选项。点击发布

3、当您点击Publish,系统会要求您创建一个应用程序服务。提供下图所示的必填字段。

  • 应用名称:应用名称。您可以选择任何名称。
  • 订阅:选择您拥有的Azure订阅。
  • 资源组:您可以使用现有资源组或创建一个新的资源组。我创建了一个新的文件并将其命名JenkinsIntegrationRSG
  • 托管计划:在此处创建一个新的托管计划,并为其命名。在这例子中,为JenkinsIntegrationHP,请为其指定一个位置,由于我们将其用于示例应用程序,因此请选择sizeFree。单击确定

提供所有详细信息后,单击创建。这将需要一些时间来创建应用程序服务并将应用程序部署到该应用程序服务。

4、部署后,您将在浏览器中打开已部署应用程序的URL。正如我们在此处看到的,该应用程序已部署在Azure上,并具有公共URL,我们在此处看到的主机名来自Azure上的托管计算机。

5、在Azure门户上验证相同。登录到Azure门户,您可以找到在仪表板上创建的新资源,其名称与从Visual Studio创建应用程序服务时提供的应用程序服务名称相同。在门户上导航至该资源以检查资源组和URL。资源组与发布时提供的资源组相同。

Azure上配置Jenkins

我们将在Azure上配置Jenkins服务器,并将我们的应用程序集成到CICD

在继续之前,请卸载本地计算机上安装的Jenkins,然后删除在程序文件中创建的Jenkins文件夹。

Azure上创建Jenkins服务器

我们安装了Jenkins并使其在本地开发计算机上运行。让我们看看如何在Azure上对其进行配置。

1、在Azure门户上,创建一个新资源,然后在搜索选项中搜索Jenkins,如下所示:

2、Jenkins资源从Azure市场加载,单击创建以在Azure上部署新的Jenkins服务器。

3、在表单上提供所需的信息,然后单击确定

  • 名称:您的Jenkins服务器的有意义的名称
  • 用户名:提供可以用作Jenkins服务器计算机的管理员用户的用户名。
  • 身份验证类型:您可以选择SSH密钥或密码。我选择了密码,因此请提供一个您可以记住并确认密码的密码。
  • 订阅:选择您的Azure订阅。
  • 资源组:您可以创建一个新的资源组,也可以使用现有的资源组。我创建了一个新的名为JenkinsConfigRSG
  • 位置:选择Jenkins服务器的位置。

4、填写其他设置表格。

  • 大小:选择Jenkins服务器的大小。我选择了最小的用于演示目的。
  • VM磁盘类型:选择SSD
  • 虚拟网络:这是可选的,请暂时保留。
  • 子网:配置子网名称,然后按确定
  • 公用IP地址:您可以将其保留为默认值,也可以提供自己的名称。
  • 域名标签:提供一个名称,该名称还将cloudapp URL 附加到Jenkins VM。我给它起了jenkinsintegration的名字
  • Jenkins发行类型:选择所需的发行类型。我选择了LTS
  • JDK类型:选择Zulu

5、在集成设置中,选择以启用云​​代理。

6、单击确定完成。在摘要上,验证详细信息,然后单击确定

7、在购买页面上,阅读条款并点击创建。创建和部署Jenkins服务器将花费一些时间。

解锁Jenkins

部署Jenkins之后,就该解锁它了。我们在开发机器上的本地处理方式有所不同。

1、在门户上,导航到新创建的Jenkins资源组。

2、在资源组页面上,单击新创建的Jenkins虚拟机。

3、我们看到这里的操作系统是Linux,因为我们在Linux上部署了Jenkins服务器,并且将使用Linux方式解锁Jenkins。复制虚拟机的DNS名称。

4、打开计算机上的浏览器并浏览复制的DNS名称。这将打开一个Jenkins页面,您将在其中获取SSH字符串。复制该字符串。

5、打开命令提示符,然后在复制的SSH字符串中,用Jenkins VM用户名的名称替换username部分。在我们的例子中,它是Jenkins。在创建Jenkins服务器时,我们在基本设置中提供了该功能。现在,将修改后的字符串粘贴到命令提示符下,然后按Enter

6、这将要求您提供Jenkins VM的密码。输入我们在创建Jenkins服务器时提供的密码,然后按Enter。这将登录到Jenkins VM(即Linux机器)并打开SSH会话。现在,我们可以在此终端上使用Linux命令。
要解锁Jenkins,我们需要Linux机器上已安装的Jenkins的管理员密码。键入命令sudo cat /var/lib/jenkins/secrets/initialAdminPassword 以检索初始管理员密码,如下所示。

7、现在,在您的本地计算机上,再次浏览到URL http://localhost:8080,这将显示解锁Jenkins屏幕,在最后一步中提供检索到的密码并解锁Jenkins。点击继续

8、在开始页面上,安装建议的插件,即默认选项。

9、提供有关创建管理员用户的详细信息。

这使JenkinsURL http://localhost:8080上启动并运行。

结论

在本文中,我们学习了如何将ASP.NET Core应用程序发布到Azure App Service并在Azure上配置Jenkins服务器。在接下来的文章中,在使用Jenkins Azure Pipeline转到AzureASP.NET核心应用程序的CI/CD之前,我们将了解Azure活动目录和服务主体,并将JenkinsAzure服务主体集成。

发布了69 篇原创文章 · 获赞 139 · 访问量 45万+

猜你喜欢

转载自blog.csdn.net/mzl87/article/details/104408140