您当前的位置: 首页 >  .net

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

寒冰屋 发布时间:2020-02-20 12:26:06 ,浏览量:0

目录

主题

路线图

先决条件

Azure Active Directory和服务主体

创建一个Azure Active Directory和服务主体

将应用程序集成到角色

将Jenkins与Azure Service Principal集成

结论

主题

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

在该系列的第一篇文章中,我们通过两种方法(管道方法和自由样式项目方法)了解了Jenkins的概念,术语,涉及的技术,安装Jenkins,创建ASP.NET Core应用程序以及使用Jenkins持续集成ASP.NET Core应用程序。在第二篇文章中,我们将ASP.NET Core应用程序发布到Azure App Service和Azure上的Configured Jenkins。

在本文中,我们将重点介绍Azure Active Directory和Service Principal,并在使用Jenkins Azure管道转到Azure上的ASP.NET核心应用程序的CI/CD之前将Jenkins与Azure服务主体集成。

路线图

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

  • 第一天:使用Jenkins持续集成ASP.NET Core应用程序
  • 第2天:将ASP.NET Core应用程序发布到Azure应用服务,并在Azure上配置Jenkins
  • 第3天:将Jenkins与Azure Active Directory和Service Principal集成
  • 第4天:使用Jenkins Azure Pipeline在Azure上的ASP.NET Core应用程序的CI/CD
先决条件

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

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

  1. Visual Studio 2017/2019年
  2. 已安装Dotnet 2.1 SDK
  3. 免费/付费Azure订阅
  4. Java 1.5或更高版本
  5. Git帐户
  6. Windows版Git
Azure Active Directory和服务主体

下一步是为我们的应用程序创建身份,因为它需要访问我们的Azure Web应用程序。此身份将用作服务主体,可以为其分配特定权限以在应用程序上进行操作。

创建一个Azure Active Directory和服务主体

1、在Azure门户中,单击“Azure Active Directory”,然后单击“App Registration”,如下所示:

2、点击“New Registration”创建一个新的应用程序注册。

3、提供一个有意义的名称。例如,我提供了“jenkins_sp”,然后为支持的帐户类型选择第一个选项,即“仅此组织目录中的帐户”。

4、单击“注册”以创建此新的Azure AD和服务主体。

5、导航到新创建的应用程序,即“Jenkins_sp”。

将应用程序集成到角色

若要访问Azure资源,需要将应用程序分配给角色。例如,如果在Azure订阅中,我们将角色分配给资源组,则该资源组中的所有资源将继承该角色及其权限。

1、导航到Azure门户中的“订阅”。选择订阅。例如,我只有一个订阅,如果选择该订阅,则该订阅中的所有资源都将继承分配的角色和权限。

2、选择后,订阅页面将在右侧打开。

3、选择访问控制(IAM)。

4、选择“添加角色分配”。

5、在“添加角色分配”窗体中,选择“角色”作为“贡献者”,将访问权限分配给“Azure AD用户,组或服务主体”。在“选择”选项中,通过键入Jenkins进行搜索,我们会看到我们的jeninks_sp,即我们的服务主体。选择并保存。

6、

6、单击新创建的应用程序注册,然后在概述页面上,将以下值复制到记事本中,就像在将服务主体分配给Jenkins时所使用的那样。

  • 应用程序(客户端)ID
  • 目录(租户)ID

7、单击“证书和机密”,然后添加“新客户机密”。提供一个名称,然后复制创建的客户端加密的值。

现在,我们需要将此服务主体提供给在URL上运行的Jenkins,以便可以访问选定订阅上的Azure资源。

将Jenkins与Azure Service Principal集成

1、在正在运行的Jenkins URL上,导航至“凭证” ->“系统” ->“全局凭证”,然后单击“添加凭证”。

2

2、选择“Kind”作为“Microsoft Azure服务主体”,然后填写以下字段:

  • 范围:Global
  • 订阅ID:您的Azure订阅ID
  • 客户ID:从服务主体应用复制的应用程序(客户)ID
  • 客户机密:加密证书的复制值
  • 租户ID:从服务主体应用复制的目录(租户)ID
  • Azure环境:Azure

是时候将Jenkins集成到在Azure门户上创建的服务主体了。

单击“验证服务主体”按钮以验证详细信息和连接。提示“已成功验证... ”后,单击确定。

结论

在本文中,我们重点介绍了Azure Active Directory和Service Principal,并将Jenkins与Azure Service Principal集成在一起。在该系列的下一篇和最后一篇文章中,我们将看到如何使用Jenkins Azure Pipeline在Azure上启用ASP.NET Core应用程序的CI/CD。

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0892s