logo
0
0
WeChat Login
feat(.cnb.yml): 新增npm缓存加速依赖下载

CNB-EO

本项目支持在push时自动打包部署至Edgeone Pages上

配置

进入Edgeone Pages控制台

点击创建项目-直接上传

设置好项目名称,并随便选择一个模板(不影响后续部署,但必须选择,否则无法下一步)

点击开始部署即可

之后,可以自行设置域名,可参考:https://edgeone.ai/zh/document/175201436224495616?product=edgedeveloperplatform

CNB流水线配置

新建.cnb.yml,在push部分配置如下

 push:
    eo_deploy:
      runner:
        # 满配置直接起飞
        cpus: 32
      docker:
        image: docker.cnb.cool/arsrna/dev-env/node22
        volumes:
          # 使用缓存,加快依赖安装速度
          - /root/.pnpm:cow
          - /root/.pnpm-store:cow
          - /workspace/.next:cow
      stages:
        - name: build
          script:
            # 这里是nextjs构建需要使用的命令
            - npm i -g pnpm
            - pnpm i
            - npm run build
        - name: 部署我的 eo pages 正式环境
          imports:
            # 这里导入Edgeone的密钥,可在eopages控制台点击API Token新建
            # 这里是cnb提供的导入变量功能,文件内容为 EO_SECRET: xxxxxxxxxxxxxxxxx
            - 您的密钥仓库路径
          image: tencentcom/deploy-eopages:latest
          # 这里需要使用您的EO_SECRET,在上面imports已经说明
          script: edgeone pages deploy ./out -n 您的项目名称 -t $EO_SECRET

需要在EO Pages控制台点击APIToken,新建一个Token供CNB部署使用

建议使用密钥仓库的方式导入,创建与使用方法:https://docs.cnb.cool/zh/repo/secret.html

在部署eopages正式环境时可以使用这个变量作为参数传递,更安全。

嵌入项目

  • 复制cnb.yml中push阶段的配置到项目的cnb配置下
  • 修改.cnb.ymleo_deploy阶段的配置,已在上文中说明
  • 修改项目next.config.tsoutputexport,以便打包静态页面部署
  • 推送代码到cnb,自动部署