适用于 GitHub Actions 的 DevOps Starter 提供一种简化的体验,即你可以选择一个示例应用程序来创建要部署到 Azure 的持续集成 (CI) 和持续交付 (CD) 工作流。

DevOps Starter 还可以:

  • 自动创建 Azure 资源,例如新的 Azure Web 应用。
  • 在 GitHub 中创建和配置包含 CI 生成作业的工作流。
  • 该工作流还包含 CD 部署作业。
  • 创建用于监视的 Azure Application Insights 资源。
  • 在本教程中,将:

  • 使用 DevOps Starter 部署 Node.js 应用
  • 配置 GitHub 和 Azure 订阅
  • 检查 GitHub 工作流
  • 提交对 GitHub 所做的更改并将其自动部署到 Azure
  • 配置 Azure Application Insights 监视
  • 具有活动订阅的 Azure 帐户。 免费创建帐户
  • 使用 DevOps Starter 部署 Node.js 应用

    DevOps Starter 会在 GitHub 中创建工作流。 你可以使用现有 GitHub 组织。 DevOps Starter 还可在所选的 Azure 订阅中创建 Azure 资源,例如 Web 应用。

  • 登录 Azure 门户

  • 在搜索框中键入“DevOps 入门版”,然后选择。 单击“添加”以新建一个。

  • 确保选择 CI/CD 提供程序作为 GitHub Actions。

  • 依次选择“Node.js”、“下一步” 。

  • 在“选择应用程序框架”下选择“Express.js”,然后选择“下一步” 。 在前述步骤中选择的应用程序框架规定了此处可用的 Azure 服务部署目标的类型。

  • 选择 Windows Web 应用,然后选择“下一步” 。

    配置 GitHub 和 Azure 订阅

  • 向 GitHub 授权并选择一个现有的 GitHub 组织。

  • 输入 GitHub 存储库的名称。

  • 选择你的 Azure 订阅服务。 (可选)可以选择“更改”,然后输入其他配置详细信息,例如 Azure 资源的位置。

  • 输入 Web 应用名称,然后选择“完成”。 几分钟后,该 Azure Web 应用即可准备就绪。 将在你的 GitHub 组织的存储库中设置一个示例 Node.js 应用程序,触发工作流,然后将应用程序部署到新创建的 Azure Web 应用。

    完成上述过程后,DevOps Starter 仪表板会显示在 Azure 门户中。 也可以从 Azure 门户中的“所有资源”直接导航到仪表板。

    在此仪表板中可以查看 GitHub 代码存储库、CI/CD 工作流,以及 Azure 中正在运行的应用程序。

    DevOps Starter 会自动配置用于将代码更改部署到存储库的触发器。

    检查 GitHub 工作流

    在上一步中,DevOps Starter 自动配置了一个完整的 GitHub 工作流。 根据需要浏览和自定义工作流。 执行以下步骤以熟悉工作流。

  • 在 DevOps Starter 仪表板的左侧,选择“GitHub 工作流”。 此链接会打开一个浏览器标签页以及新项目的 GitHub 工作流。

    请勿重命名工作流文件。 工作流文件的名称应为 devops-starter-workflow.yml,以便仪表板反映所做的更改

  • 工作流 yaml 文件包含生成和部署应用程序所需的所有 GitHub Actions。 单击“编辑文件”选项以自定义工作流文件。

  • 在存储库的“代码”选项卡下,单击“提交” 。 此视图显示与特定部署相关联的代码提交。

  • 在存储库的“操作”选项卡下,可以查看存储库的所有工作流运行的历史记录。

  • 选择“最新运行”可查看工作流中运行的所有作业。

  • 单击“作业”可查看工作流运行的详细日志。 日志包含有关部署过程的有用信息。 日志可以在部署过程中以及部署以后查看。

  • 单击“拉取请求”选项卡可查看存储库中的所有拉取请求

    提交代码更改并执行 CI/CD

    DevOps Starter 会在 GitHub 中创建存储库。 若要查看存储库并对应用程序进行代码更改,请执行以下操作:

  • 在 DevOps Starter 仪表板的左侧,选择主分支的链接。 此链接会打开新建 GitHub 存储库的视图。

  • 若要查看存储库克隆 URL,请在浏览器右上角选择“克隆”。 可以在最常用的 IDE 中克隆 Git 存储库。 在后续几个步骤中,可以使用 Web 浏览器直接对主分支进行代码更改并提交所做的更改。

  • 在浏览器左侧,转到 /Application/views/index.pug 文件。

  • 选择“编辑”,然后对某些文本进行更改。 例如,更改某个标记的某些文本。

  • 选择“提交”并保存更改。

  • 在浏览器中,转到 DevOps 入门版仪表板。
    现在,你应该会看到一个正在进行的 GitHub 工作流生成作业。 刚做的更改会自动通过 GitHub 流水线进行生成和部署。

  • 部署完成后,刷新应用程序以验证更改。

    配置 Azure Application Insights 监视

    可以使用 Azure Application Insights 轻松监视应用程序的性能和使用情况。 DevOps Starter 会自动为应用程序配置 Application Insights 资源。 你可以根据需要进一步配置各种警报和监视功能。

  • 在 Azure 门户中,转到 DevOps Starter 仪表板。

  • 在右下角,选择应用对应的“Application Insights”链接。 此时会打开“Application Insights”窗格。 此视图包含应用的使用情况、性能和可用性监视信息。

  • 选择“时间范围”,然后选择“过去一小时”。 若要筛选结果,请选择“更新”。 现在可以查看过去 60 分钟的所有活动。

  • 若要退出时间范围,请选择“x”。

  • 选择“警报”,然后选择“添加指标警报”。

  • 输入警报的名称。

  • 在“指标”下拉列表中,检查各种警报指标。 默认警报针对 服务器响应时间大于 1 秒 的情况。 可以轻松地配置各种警报,以便改进应用的监视功能。

  • 选中“通过电子邮件通知所有者、参与者和读者”复选框。 (可选)可以在显示警报时,通过执行 Azure 逻辑应用来执行其他操作。

  • 选择“确定”以创建警报。 片刻之后,警报就会在仪表板上显示为活动状态。

  • 退出“警报”区域,返回到“Application Insights”窗格。

  • 选择“可用性”,然后选择“添加测试”。

  • 输入测试名称,然后选择“创建”。 此时会创建简单的 ping 测试来验证应用程序的可用性。 数分钟后,测试结果可用,此时 Application Insights 仪表板会显示可用性状态。

    测试后,可以清理资源,以避免产生费用。 不再需要本教程中创建的 Azure 虚拟机和相关资源时,可将其删除。 为此,请使用 DevOps Starter 仪表板上的“删除”功能。

    以下过程会永久删除资源。 “删除”功能会销毁 DevOps Starter 中的项目同时在 Azure 中创建的数据,删除后便无法检索这些数据。 只能在仔细阅读提示后才使用此过程。

  • 在 Azure 门户中,转到 DevOps Starter 仪表板。
  • 在右上角选择“删除”。
  • 出现提示时,请选择“是”以永久删除这些资源。
  • 你可以选择根据所在团队的需求修改工作流。 也可以将此 CI/CD 模式用作其他存储库的模板。

    在本教程中,你了解了如何执行以下操作:

  • 使用 DevOps Starter 部署 Node.js 应用
  • 配置 GitHub 和 Azure 订阅
  • 检查 GitHub 工作流
  • 提交对 GitHub 所做的更改并将其自动部署到 Azure
  • 配置 Azure Application Insights 监视
  • 若要详细了解 GitHub Actions 和工作流,请参阅:

    自定义 GitHub 工作流