你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure DevOps 自动生成和部署标准逻辑应用工作流
对于在单租户 Azure 逻辑应用中运行的标准逻辑应用工作流,可以将 Visual Studio Code 与 Azure 逻辑应用(标准)扩展配合使用,以便使用任何源代码管理系统在本地开发、测试和存储逻辑应用项目。 但是,若要轻松一致地跨不同环境和平台部署工作流,还必须自动执行生成和部署过程。
Azure 逻辑应用(标准)扩展提供了使用 Azure DevOps 创建和维护自动化生成和部署过程的工具。 但是,在开始此自动化之前,请考虑以下元素:
在其中创建工作流的 Azure 逻辑应用资源
工作流使用的且从 Microsoft 托管连接器创建的 Azure 托管连接。
这些连接不同于直接本机使用 Azure 逻辑应用运行时运行的连接。
要部署的不同环境的特定设置和参数
该扩展可帮助你完成以下必需的任务来自动执行生成和部署:
在设计时参数化连接引用。 此任务简化了在不同环境中更新引用的过程,而无需中断本地开发功能。
生成自动部署标准逻辑应用资源的脚本,包括所有依赖资源。
生成自动部署 Azure 托管连接的脚本。
准备可在生成过程中注入到 Azure 逻辑应用包中的环境特定参数,而无需中断本地开发功能。
使用 Azure DevOps 按需生成管道,以支持基础结构部署以及生成和发布过程。
本指南演示如何完成以下任务:
在 Visual Studio Code 中创建逻辑应用工作区和项目,其中包含用于创建基础结构部署管道、持续集成 (CI) 和持续部署 (CD) 的文件。
在 Azure DevOps 中的工作区和 Git 存储库之间创建连接。
在 Azure DevOps 中创建管道。
有关详细信息,请参阅以下文档:
已知问题和限制
此功能仅支持标准逻辑应用项目。 如果 Visual Studio Code 工作区同时包含标准逻辑应用项目和 Functions 自定义代码项目,则两者均生成部署脚本,但当前忽略自定义代码项目。 为自定义代码创建生成管道的功能已在路线图中提供。
该扩展为基础结构部署、持续集成 (CI) 和持续部署 (CD) 创建管道。 但是,你负责将管道连接到 Azure DevOps 并创建相关触发器。
目前,该扩展仅支持基础结构部署脚本的 Azure 资源管理模板(ARM 模板)。 其他模板正在规划中。
先决条件
Azure 帐户和订阅。 如果没有订阅,可以注册免费的 Azure 帐户。
Visual Studio Code 和 Azure 逻辑应用(标准版)扩展。 要满足这些要求,请参阅使用 Visual Studio Code 创建标准工作流的先决条件。
Azure 逻辑应用(标准)为 Azure DevOps 任务生成和发布任务。 可以在 Azure DevOps 市场中找到这些任务。
现有 Azure DevOps 中的 Git 存储库,可在其中存储逻辑应用项目。
现有 Azure 资源组,可在其中部署逻辑应用。
创建逻辑应用工作区、项目和工作流
在 Visual Studio Code 的活动栏上,选择 Azure 图标。
在 Azure 窗口中,打开“工作区”工具栏上的“Azure 逻辑应用”菜单,然后选择“新建逻辑应用工作区”。
按照提示完成以下任务:
选择要用于创建工作区的文件夹。
输入工作区名称。
选择项目类型:逻辑应用
输入逻辑应用项目名称。
选择工作流模板。 输入工作流名称。
选择是在当前 Visual Studio Code 窗口中还是在新窗口中打开工作区。
Visual Studio Code 显示新的工作区和逻辑应用项目。
按照以下步骤打开工作流设计器:
在逻辑应用项目中,展开具有你的工作流名称的文件夹。
如果尚未打开,则打开 workflow.json 文件,打开文件的快捷菜单,然后选择“打开设计器”。
当系统提示在项目加载时允许连接参数化时,请选择“是”。
选择后,项目可以在连接定义中使用参数,以便可以为不同的环境自动执行生成和部署。
按照提示选择这些项:
使用 Azure 提供的连接器
注意
如果跳过此步骤,则只能使用运行时托管的内置连接器。 若要稍后启用 Microsoft 托管的 Azure 托管连接器,请执行以下步骤:
打开 workflow.json 文件的快捷菜单并选择“使用 Azure 提供的连接器”。
选择要为逻辑应用使用的现有 Azure 资源组。
重新加载工作流设计器。
要为逻辑应用使用的现有 Azure 资源组
完成后,重新加载工作流设计器。 出现提示时,请登录到 Azure。
现在可以以任何方式编辑工作流,并在过程中在本地测试工作流。 若要创建和测试示例工作流,请参阅使用 Visual Studio Code 创建标准工作流。
生成部署脚本
创建并在本地测试工作流后,创建部署脚本。
从所有项目文件下的空白区域打开项目的快捷菜单,然后选择“生成部署脚本”。
按照提示完成这些步骤:
选择逻辑应用要使用的现有 Azure 资源组。
输入逻辑应用资源的唯一名称。
输入存储帐户资源的唯一名称。
输入用于应用服务计划的唯一名称。
选择要在其中生成文件的工作区文件夹。
部署文件夹位置 说明 新部署文件夹(默认) 在当前工作区中创建新文件夹。 选择其他文件夹 在当前工作区中选择其他文件夹。
完成后,Visual Studio Code 会在工作区的根目录中创建名为 deployment/{logic-app-name} 的文件夹。 此文件夹使用这些步骤中提供的相同逻辑应用名称。
注意
以下文件中变量、应用设置和参数的值是根据这些步骤中提供的输入预填充的。 以其他环境为目标时,请确保更新已创建的参数和变量文件的值。
在 {logic-app-name} 文件夹下,具有以下结构:
文件夹名称 文件名和说明 ADOPipelineScripts - CD-pipeline.yml:持续交付管道,其中包含将逻辑应用代码部署到 Azure 中的逻辑应用资源的说明。
- CD-pipeline-variables.yml:一个 YAML 文件,其中包含 CD-pipeline.yml 文件使用的变量。
- CI-pipeline.yml:持续集成管道,其中包含构建和生成将逻辑应用资源部署到 Azure 所需的项目的说明。
- CI-pipeline-variables.yml:一个 YAML 文件,其中包含 CI-pipeline.yml 文件使用的变量。
- infrastructure-pipeline.yml:一个 YAML“基础结构即代码”管道,其中包含将所有 ARM 模板加载到 Azure 和执行 infrastructure-pipeline-template.yml 文件中的步骤的说明。
- infrastructure-pipeline-template.yml:一个 YAML 管道文件,其中包含部署具有所有必需依赖项的逻辑应用资源以及部署源代码所需的每个托管连接的步骤。
- infrastructure-pipeline-variables.yml:一个 YAML 管道,其中包含执行 infrastructure-pipeline-template.yml 文件中的步骤所需的所有变量。ArmTemplates - {connection-type}.parameters.json:一个资源管理器参数文件,其中包含将名为 {connection-type} 的 Azure 托管连接部署到 Azure 所需的参数。 工作流中的每个 Azure 托管连接都存在此文件。
- {connection-type}.template.json:一个资源管理器模板文件,表示名为 {connection-reference} 的 Azure 托管连接,并包含用于将相应连接资源部署到 Azure 的信息。 工作流中的每个 Azure 托管连接都存在此文件。
- {logic-app-name}.parameters.json:一个资源管理器参数文件,其中包含将名为 {logic-app-name} 的标准逻辑应用资源部署到 Azure 所需的参数,包括所有依赖项。
- {logic-app-name}.template.json:一个资源管理器模板文件,表示名为 {logic-app-name} 的标准逻辑应用资源,并包含用于将逻辑应用资源部署到 Azure 的信息。WorkflowParameters parameters.json:此 JSON 文件是本地参数文件的副本,包含用户定义的所有参数的副本以及由扩展创建的任何参数的云版本,用于参数化 Azure 托管的连接。 此文件用于生成部署到 Azure 的包。
将工作区连接到 Git 存储库
按照以下步骤初始化存储库:
在 Visual Studio Code 的活动栏上,选择“源代码管理”图标。
在“源代码管理”窗口中,选择“初始化存储库”。
在提示菜单中,选择“选择文件夹”。 选择工作区根文件夹,然后选择“初始化存储库”。
在“源代码管理”窗口中,选择“打开存储库”。
在提示菜单中,选择刚刚创建的存储库。
有关详细信息,请参阅 Visual Studio Code - 初始化本地文件夹中的存储库。
按照以下步骤获取 Git 存储库的 URL,以便可以添加远程库:
在 Azure DevOps 中,为 Azure DevOps 组织打开团队项目。
在左侧菜单中,展开“存储库”,然后选择“文件”。
在“文件”窗格工具栏中选择“克隆”。
在“克隆存储库”窗口中,复制克隆 URL 的 HTTPS 版本。
有关详细信息,请参阅获取 Azure Repos 中 Git 存储库的克隆 URL。
按照以下步骤为 Git 存储库添加远程库:
收到提示时,粘贴复制的 URL,并输入远程库的名称,通常为 origin。
现已在 Visual Studio Code 和存储库之间创建连接。
在下一部分中设置管道之前,请打开 CD-pipeline.yml 文件,并在
source
特性中重命名 CI 管道,以匹配要使用的 CI 管道名称。在“源代码管理”窗口中,提交更改并将其发布到存储库。
有关详细信息,请参阅暂存和提交代码更改。
在 Azure DevOps 中创建管道
若要在 Azure DevOps 中创建基础结构以及 CI 和 CD 管道,请为以下每个管道文件重复以下步骤:
- “基础结构即代码”管道的 infrastructure-pipeline.yml。
- 持续集成管道的 CI-pipeline.yml。
- 持续交付管道的 CD-pipeline.yml。
设置管道
在 Azure DevOps 中,返回到团队项目和“Repos”>“文件”窗格。
在“文件”窗格中,选择“设置生成”。
在“为管道开列清单”窗格中,确认存储库信息,然后选择“配置管道”。
在“配置管道”窗格上,选择“现有 Azure Pipelines YAML 文件”。
在“选择现有 YAML 文件”窗格中,按照以下步骤选择 Infrastructure-pipeline.yml 文件:
在“配置管道”页上,选择“查看管道”。
在“查看受管理管道”窗格中,提供以下信息:
- 管道名称:为管道输入一个名称。
- 管道文件夹:选择用于保存管道的文件夹,名为 ./deployment/{logic-app-name}/pipelines。
完成后,选择保存。
查看和运行管道
若要查找并运行管道,请执行以下步骤:
有关详细信息,请参阅创建第一个管道。