你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
GitHub Actions 是 GitHub 中有助于自动执行软件开发工作流的一项功能。 如果源代码存储在 GitHub 存储库中,可以在 GitHub Actions 中创建自定义工作流来生成、测试、打包、发布或部署任何代码项目。
本文介绍如何使用 GitHub Actions 创建 CI/CD 工作流并将流分析作业部署到 Azure。 因此,下次对 GitHub 存储库进行更改时,它将自动触发工作流并将流分析项目部署到 Azure。
先决条件
开始之前,必须满足以下先决条件:
- 具有活动订阅的 Azure 帐户。
- 用于配置 GitHub 存储库、创建工作流以及配置 GitHub 机密的 GitHub 帐户。
- 在 PowerShell 中运行
az命令。 按照本指南在本地计算机上安装或更新 Azure 命令行接口 (CLI)。
步骤 1:将流分析项目推送到 GitHub 存储库
我们要使用适用于 Visual Studio Code (VS Code) 的 Azure 流分析扩展来管理流分析项目。 如果尚未安装此扩展,请按照本指南安装。
转到 Azure 门户中的查询编辑器,然后选择“在 VS Code 中打开”。
完成后,应该会在 VS Code 工作区中看到流分析项目。
按“Ctrl+J”,在 VS Code 中打开终端。 输入 git 命令,将项目推送到 GitHub 存储库。
步骤 2:在 GitHub 中设置机密
至少需要创建 3 个 GitHub 机密来部署流分析作业。 一个机密用于 Azure 凭据,其他机密用于输入/输出 Azure 资源。
转到 GitHub 存储库,然后选择“设置”选项卡。在左侧菜单中选择“机密和变量 > 操作”,然后选择“新建存储库机密”来创建新机密。
为“Azure 凭据”创建机密。 打开 PowerShell 并运行以下命令。 然后将输出 JSON 复制到机密值。
将 {subscription-id} 和 {resource-group} 替换为 Azure 资源。 确保安装了最新版本的 Azure CLI。
az login az ad sp create-for-rbac --name "myApp" --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} --json-auth输入机密名称,例如
AZURE_CREDENTIALS,并将输出 JSON 复制到机密值。 然后选择“添加机密”。若要详细了解如何将 Azure 登录操作与服务主体机密配合使用,请参阅此处。
为输入和输出资源创建机密。 对于多个输入/输出资源,需要分别为每个 Azure 资源创建机密。
完成后,应至少为 GitHub 存储库创建三个机密。
步骤 3:使用 GitHub Actions 创建工作流
转到“操作”选项卡,选择“新建工作流”>“自行设置工作流”。
将此模板复制到 YAML 文件并编辑参数。
PROJECT_NAME:流分析作业的名称。
OUTPUT_PATH:让其保留原样。
TARGET_RESOURCE_GROUP:Azure 资源组。
LOCATION:用于部署的 Azure 区域。 可在此处找到可用区域。
OVERRIDE_PARAMETERS:Azure 资源的凭据。 若要正确分析凭据,必须将参数设置为以下格式的键值对:
# Inputs_ehinput_DataSource_SharedAccessPolicyKey # \____/ \_____/ \________/ \__________________/ # | | | # input/output name credential name例如,对于事件中心输入和 Blob 存储输出,键应为:
Inputs_ClickStream_DataSource_SharedAccessPolicyKey=${{ secrets.ASA_INPUT }} Outputs_BlobOutput_DataSource_AccountKey=${{ secrets.ASA_OUTPUT }}以下是从 Azure 资源类型到其凭据名称的映射:
资源类型 凭据名称 Azure 事件中心、Azure IoT 中心、Azure 服务总线 SharedAccessPolicyKey Azure Blob 存储、Azure Cosmos DB、Azure 表存储 AccountKey Azure 函数 ApiKey Azure SQL 数据库、Azure Synapse Analytics 密码
保存并提交对主分支的更改。 然后转到“操作”并选择“运行工作流”。 可以监视工作流进度。
完成后,你会发现流分析作业已开始在 Azure 门户中运行。 下次将更改推送到主分支时,GitHub Actions 中的工作流将自动触发。
恭喜! 你已在 GitHub 中成功创建工作流,并将流分析项目部署到 Azure。 使用此工作流,每当将更改推送到 GitHub 存储库的主分支时,流分析项目都可以自动生成、测试、发布和部署到 Azure。