前言
Azure DevOps 提供了项目管理和源代码管理的功能,它的自动化构建和发布可以让我们专注于业务逻辑,省去了一些CI/CD的繁杂琐事。
根据 Azure 的官方文档,
Microsoft Azure 具有充分的自由和灵活性,可以随时随地生成、管理和部署应用程序,帮助用户实现目标。使用你首选的语言、框架和基础结构(甚至可使用你自己的数据中心和其他云)解决大大小小的难题。
本文将介绍如何使用Azure DevOps创建React应用的构建和发布管道部署到 Azure App Service,快速上手Azure DevOps自动化部署
创建应用服务
要部署 React 应用,首先需要在 Azure 上创建应用服务。顾名思义,应用程序服务(Azure App Service)是用于构建、部署和扩展 Web 应用程序的平台。
以下是步骤:
- 如果尚未在 Azure 上创建帐户,则可以选择免费帐户。
- 对于订阅,请选择您的免费订阅。为此应用程序创建一个新的 Resource Group。本文使用名为 react-example-deploy 的资源组。选择 Node 10.14 作为 Runtime Stack,选择 Windows 作为 Operating System。最后,请选择离您最近的地区或保持默认。
- 点击创建几分钟后,您的新应用服务将上线,您将看到这样的消息。你可以访问 {AppServiceName}.azurewebsites.net 来查看它的实际效果。现在是一个磨人页面,之后 React 应用程序将部署在同一个 URL 上。
创建应用服务
在这里,我们将使用 Azure DevOps 在我们的应用程序中简化持续集成和持续部署。
创建 Azure DevOps 组织
如果你已经创建了 Azure DevOps 组织,请随意跳过。以下是创建 Azure DevOps 组织的步骤:
- 登录到 Azure DevOps.
- 点击 New organization.
- 你会被问到是否继续. 选择 继续.
- 然后您将被要求为您的组织提供一个唯一的名称。输入一个唯一的名称并点击继续。本文使用名为 ReactExampleDeploy 的组织。
反应示例部署
您的组织现已创建,可以通过 https://dev.azure.com/{yourorganization} 访问,其中 yourorganization 是您组织的名称。
Creating a Project创建项目
在 Azure DevOps 组织仪表板上,创建一个新项目。为您的项目指定一个唯一名称,然后点击创建项目
推动 React 项目
您现在将 React 应用程序从您的本地机器推送到您刚刚通过命令行创建的项目。
- 在您的应用程序的根目录中,运行以下命令。
1 | git init |
bash
- 在您的项目仪表板上,转到 Repos。复制从命令行推送现有存储库下的代码并在命令行中运行相同的代码。可能会要求您登录 Azure 帐户以继续操作。把代码push到仓库。
运行此命令后,您可以在 Repos → Files 下看到您的 React 项目。
现在你已将应用推送到 Azure DevOps 项目,下一步是创建用于构建工件的管道和用于部署 React 应用的发布管道。
创建构建工件管道
根据 Azure 的文档,“您可以使用 Azure Pipelines运行构建、执行测试并将代码(发布)自动部署到各种开发和生产环境。”
以下是创建构建工件管道的步骤。
- 单击 Pipelines 选项卡然后单击Create Pipeline.
- 当被问到“你的代码在哪里?”时,选择使用经典编辑器选项。
- 选择 Azure Repos Git 作为源,将其他所有内容保留为默认值,然后点击Continue.
- 当要求提供模板时,选择Empty job.
- 单击 + 号
搜索“npm”并添加两次 npm 任务。
你可能会问,为什么要两次?由于此任务用于node包,因此您需要另一个用于构建项目的任务;不存在默认任务,因此您需要为此创建自定义任务。
点击第二个npm任务,配置如下。
- 将显示名称更改为 npm run build.
- 将命令更改为自定义.
- 在命令和参数中添加运行构建
- 现在,搜索发布构建工件并将其添加到代理作业 1。
单击 Publish build artifacts 然后修改 Path to publish为 build.
- 转到触发器选项卡并选择启用持续集成。您可以将其他所有内容保留为默认值。
- 最后,单击 Save & queue 并再次点击 Save & queue。
在运行管道模式中,将所有内容保留为默认值,然后点击保存并运行。
几分钟后,管道将成功完成运行。您可以在 Pipelines 选项卡下检查以验证它。
创建发布管道
发布管道将部署在上一节中构建的工件。
以下是创建发布管道的步骤:
- 转到Pipelines** → Releases 然后单击 New pipeline.
- 选择Azure App Service Deployment 然后点击 Apply.
您将被要求为Stage命名。进入 Production 并关闭模态。
- 现在点击 Add an artifact.
对于 Source,选择您在上一节中创建的管道,即 React Deploy Example-CI。将其他所有内容保留为默认值,然后点击添加。
- 要配置持续部署,请单击 Artifacts 中的闪电图标。
启用第一个禁用选项,在 Build 分支中输入 master,然后关闭模态框。
- 在 Stages下面 点击 1 job, 1 task .
会弹出配置 Deploy Azure App Service.
根据您的订阅选择 Azure 订阅。您可能需要单击授权并授权订阅。
点击 Deploy Azure App Service, 然后在 Package or folder 输入:
1 | $(System.DefaultWorkingDirectory)/_React Deploy Example-CI/drop |
- 最后点击保存
Leave the modal that appears at default and hit OK.
现在,单击 Create release,它将出现在 Save 按钮的右侧。
创建发布
几分钟后,您的应用程序将部署在 {yourappservicename}.azurewebsites.net。
由于您已经配置了 CI/CD,您可以在本地机器上更新应用程序并将提交推送到 repo,这将触发新版本,并且您的 React 应用程序将被更新。
总结
在本文中,我们讨论了如何使用 CI/CD 将 React 应用程序部署到 Azure App Service 的过程。
下一步,可以去尝试探索 Azure 提供的不同功能。
以下是一些相关文档。