将 Jenkins 与 Azure Active Directory 和服务主体集成 – 第三天

作者 : 慕源网 本文共2105个字,预计阅读时间需要6分钟 发布时间: 2021-11-8 共468人阅读

介绍

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

在本系列的第一篇文章中,我们了解了概念、术语、涉及的技术、安装 Jenkins、创建 ASP.NET Core 应用程序以及使用 Jenkins 通过管道方法和自由式项目方法两种方法对 Asp.Net Core 应用程序的持续集成。在第二篇文章中,我们将 ASP.Net 核心应用程序发布到 Azure 应用服务并在 Azure 上配置了 Jenkins。

在本文中,我们将重点介绍 Azure Active Directory 和服务主体并将 Jenkins 与 Azure 服务主体集成,然后再使用 Jenkins Azure Pipeline 转到 Azure 上的 ASP.NET Core 应用程序的 CI/CD。

路线图

以下是我们将遵循的路线图,以完全学习使用 Jenkins 在 Azure Web 应用程序上进行 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. 单击“新注册”以创建新的应用注册。
  3. 提供一个有意义的名称。例如,我提供了“jenkins_sp”并为支持的帐户类型选择第一个选项,即“仅在此组织目录中的帐户”。
  4. 单击“注册”以创建这个新的 Azure AD 和服务主体。
  5. 导航到新创建的应用程序,即“Jenkins_sp”。

将应用程序集成到角色

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

  1. 导航到 Azure 门户中的订阅。选择订阅。例如,我只有一个订阅,如果我选择该订阅中的所有资源将继承分配的角色和权限。
  2. 选择后,订阅页面将在右侧打开。
  3. 选择访问控制 (IAM)。
  4. 选择“添加角色分配”。
  5. 在“添加角色分配”表单中,选择角色为“贡献者”,将访问权限分配为“Azure AD 用户、组或服务主体”。在选择选项中,输入 Jenkins 进行搜索,我们会看到jeninks_sp e。我们的服务负责人。选择并保存。
  6. 单击新创建的应用程序注册,然后在概览页面上,将以下值复制到记事本,因为它们将在将服务主体分配给 Jenkins 时使用。
      • 应用程序(客户端)ID
      • 目录(租户)ID

单击“证书和机密”并添加“新客户端机密”。为其提供一个名称并复制创建的客户端密钥的值。

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

将 Jenkins 与 Azure 服务主体集成

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

  1. 在正在运行的 Jenkins URL 上。导航到凭据 -> 系统 -> 全局凭据,然后单击“添加凭据”。
  2. 选择 Kind 作为“Microsoft Azure Service Principal”并填写以下字段。
  • 范围:全球
  • 订阅 ID:您的 Azure 订阅 ID
  • 客户端 ID:从服务主体应用程序复制的应用程序(客户端)ID。
  • 客户端机密:机密证书的复制值。
  • 租户 ID:从服务主体应用复制的目录(租户)ID。
  • Azure 环境:Azure

单击“验证服务主体”按钮以验证详细信息和连接。一旦显示“已成功验证…”,请单击“确定”。

结论

在本文中,我们重点介绍了 Azure Active Directory 和服务主体以及将 Jenkins 与 Azure 服务主体集成。在本系列的下一篇也是最后一篇文章中,我们将看到如何使用 Jenkins Azure Pipeline 在 Azure 上启用 ASP.NET Core 应用程序的 CI/CD。


慕源网 » 将 Jenkins 与 Azure Active Directory 和服务主体集成 – 第三天

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录