导入Github仓库

边缘安全加速 ESA支持直接导入Github仓库,可通过已有的仓库代码快速启动并部署项目。

前提条件

操作步骤

Pages 与代码管理系统无缝集成,使开发工作流与部署过程之间能顺畅同步。

  1. 登录ESA控制台,在左侧导航栏选择边缘计算 > 边缘函数

  2. 在边缘函数页面,单击创建

  3. 选择导入Github仓库页签,单击添加Github账户

    image

  4. 登录Github账号后,在授权页面默认选择All repositories,单击Install & Authorize完成仓库授权。image

  5. 选择需要构建的对应仓库名,单击下一步

    image

  6. 填写构建信息,单击开始部署

    image

    配置类型

    功能

    说明

    基础配置

    生产分支

    默认为main分支。ESA将按照所选分支自动触发构建并自动部署到生产环境。

    非生产分支构建

    开启后,将对非生产分支(比如非main分支)的新提交生成构建版本,但不会自动部署。

    构建命令

    若需先构建,请填写命令,例如npm run build

    高级配置

    根目录

    构建命令将在此目录下执行,默认/。若是monorepo,请填写要构建的子项目路径(例如 /frontend/packages/web)。

    静态资源目录

    构建产物中将被静态托管的目录,例如:./public./dist./build。您可以在esa.jsonc文件的assets.directory字段中指定静态资源目录。该配置的优先级高于构建信息中的配置,会覆盖您在此处的配置。

    函数文件路径

    函数的入口文件路径,即实际执行的文件。例如:./src/index.ts。您可以在esa.jsonc文件的entry字段中指定函数文件路径。该配置的优先级高于构建信息中的配置,会覆盖您在此处的配置。

    Node.js版本

    构建使用的 Node.js 版本。修改该配置后,需要重新触发构建才能生效。您可以在package.json文件的engines.node字段中指定Node.js主版本。该配置的优先级高于构建信息中的配置,会覆盖您在此处的配置。

    环境变量

    设置构建过程中可使用的环境变量,可以通过全局对象process.env获取。

  7. 等待系统构建完成后,将为您生成一个公共域名访问链接,可直接访问预览效果。

    image

    image

如何绑定自定义域名

完成创建后,为便于后续访问,您可以将站点接入ESA,然后以记录的形式添加公共访问链接至您的域名DNS记录中,实现自定义域名访问:

  1. 系统构建完成后,单击绑定域名Page绑定站点下的域名记录,用于后续函数访问。

    image

  2. 域名页面,您可以通过配置域名绑定路由绑定自定义记录。

    通过域名配置

    域名绑定功能允许您将Pages公共链接至自己的站点域名,在完成域名绑定后,您可以直接使用该域名对函数进行访问。

    1. 域名绑定单击添加域名

    2. 输入需要绑定的自定义记录如page.example.com,单击确定image

    说明

    NS接入的域名:绑定域名后,会自动帮您添加一条DNS记录用来绑定边缘函数。

    CNAME接入的域名:绑定域名后,会自动生成一个CNAME值,需手动在当前站点对应的域名解析服务商添加CNAME解析

    通过路由配置

    路由功能允许用户将某些URL映射到Pages。如为example.com站点配置了example.com/a*的路由规则后,所有与路由规则匹配的路径访问例如/a/a1/a2都会由Pages处理,而其他与路由规则不匹配的路径访问例如/b/c/d会继续遵循加速回源或缓存的流程。

    image
    1. 路由区域,单击添加路由

    2. 填写路由名称Pages,在选择站点列表中选择目标站点,例如:example.com,默认选择简单模式。路由的前缀和后缀配置可根据业务情况参考下述示例配置:

      • 示例1:路由填写*.example.com/*,表示任何发送到http://pages.example.com/或http://example.com/的请求都会被转发到Pages。

      • 示例2:路由填写example.com/a*,表示任何发送到http://example.com/ahttp://example.com/a1http://example.com/api的请求会被转发到Pages。

      • 示例3:路由填写pages.example.com/api/*,表示任何发送到 http://pages.example.com/api/ 及其子路径的请求(例如 http://pages.example.com/api/usershttp://pages.example.com/api/products/123)都会被转发到Pages。

      image

      说明
      • 如果路由输入的是*.example.compages.example.com这种带有前缀的域名,还需要在ESADNS记录中手动添加一条记录,否则访问失败。

      • 函数路由如果存在多条配置,从上至下一旦有一条匹配成功,则跳出不再执行下面的匹配。

  3. 绑定完成后将自动在对应站点下生成一条DNS记录。若该站点为NS接入则可以直接通过自定义域名进行访问,若为CNAME接入则需要在DNS服务商处增加一条CNAME记录。image

  4. 在浏览器中访问自定义的域名记录即可查看创建的Page。image