通过CLI命令行工具使用边缘程序

更新时间:
复制为 MD 格式

通过CLI命令行界面工具使用边缘程序需要一定的专业技能,阿里云更推荐您通过控制台使用边缘程序。通过本文您可以了解使用EdgeRoutine CLI工具发布代码的具体步骤。

环境准备

运行环境:Node.js 8.0及以上版本。您可以前往Node.js官网下载Node安装包进行安装。

  1. 运行以下命令安装EdgeRoutine CLI工具。

    $ npm install @alicloud/edgeroutine-cli -g
    说明
    • 目前EdgeRoutine CLI的最新版本为2.0.3,安装完成后您可以运行edgeroutine-cli -v命令查询版本号。如果您的版本非最新,建议您升级至最新版本。

    • 最新版本的CLI进行build操作时,如果提示“The specified ArgValue is invalid参数无效”,请执行edgeroutine-cli config初始化config.js文件后重试。

  2. 创建代码目录并切换到已创建目录。

    $ mkdir yourProject; cd yourProject
  3. 初始化环境并创建代码模板。

    初始化环境命令如下所示。

    $ edgeroutine-cli init

    代码模板示例如下,如果您已有目标代码,您可以将您的代码文件移动到当前目录命名为edge.js

    /**
     * Add the necessary event listener
     * @param {Event} fetch event, {Function} async function
     */
    addEventListener('fetch', event => {
      event.respondWith(handleRequest(event.request))
    })
    /**
     * Make a response to client
     * @param {Request} request
     */
    async function handleRequest(request) {
      return new Response('Hello World!', { status: 200 })
    }
  4. 配置域名和AK信息(AccessKey IDAccessKey Secret)。

    $ edgeroutine-cli config
  5. 可选:修改边缘程序ER(EdgeRoutine)的执行顺序。

    1. 双击步骤4生成的config.js文件。

    2. 修改pos参数为head或者foot,默认值为head。

      pos表示边缘程序ER和全站加速制台配置(缓存配置、HTTPS配置、访问控制、性能优化、视频相关)的执行优先级。

      • head:边缘程序ER先执行。

      • foot:边缘程序ER后执行。

  6. 在模拟环境中测试代码。

    说明

    您将代码发布到生产环境之前必须在模拟环境中进行验证。

    1. 创建模拟环境代码。

      $ edgeroutine-cli build
    2. 查看模拟环境代码。

      $ edgeroutine-cli build --show
    3. 回滚模拟环境代码。

      可将模拟环境的代码回滚成线上的代码。回滚后您可以随时继续发布新代码至模拟环境,但此时您无法将空代码发布到生产环境。

      $ edgeroutine-cli build --rollback
    4. 删除模拟环境代码。

      删除是指将模拟环境的配置删除,删除后您可以随时继续发布新代码至模拟环境,也可以将空代码发布到生产环境达到删除生产环境ER代码的目的,请注意风险。

      $ edgeroutine-cli build --delete
  7. 测试模拟环境代码。

    请您在终端环境中访问目标域名,EdgeRoutine模拟环境节点IP42.123.XXX.XXX42.123.XXX.XXX。

    $ curl -v 'http://example.com/yourpath/' -x 42.123.XXX.XXX:80

    代码符合预期效果,日志中无报错即为测试成功。

  8. 发布代码到生产环境。

    1. 您在完成模拟环境验证后,可以将模拟环境的代码发布到线上环境。

      $ edgeroutine-cli publish
      重要

      目前EdgeScriptEdgeRoutine共用一个发布系统,如果您同时使用了EdgeScriptEdgeRoutine功能,当您在EdgeRoutine CLI中执行edgeroutine-cli publish命令进行发布时,系统会将模拟环境中的EdgeScriptEdgeRoutine配置一起发布至生产环境。您可以在执行publish前使用edgeroutine-cli build -s查看模拟环境中的EdgeScriptEdgeRoutine配置,确认无误后再执行publish发布至生产环境。

    2. 查看线上环境代码。

      $ edgeroutine-cli publish --show
    3. 可选:删除线上环境代码,此时将直接彻底删除代码和配置。

      $ edgeroutine-cli publish --delete
  9. 测试生产环境中的ER程序是否生效。

    此时您可直接测试目标域名的线上业务,符合您代码预期表示配置成功。

    $ curl -v 'https://example.com/yourpath/'