将Hugo博客通过CNB部署到Edgeone Pages和Vercel

考完春季高考之后,终究还是没忍住 CNBEdgeone Pages 的诱惑

到家立刻就给博客源码放到CNB上面来了当然这没有开源
同时在 枋柚梓的文章 那边了个将博客仓库同步到Github的配置

但是 Edgeone Pages 没有可以配置Hugo模版的地方
而且cnb的云原生构建和和github action不太一样
云原生那个是用的Docker镜像

我选取的镜像是hugomods/hugo:node-git,因为这个镜像带 Git 和 node
(用 Node 的原因是我配置了 gulp 来压缩站点的静态资源)

配置文件(Vercel):

# 定义云构建
main:
  push:
    - name: 上传到Vercel
      imports: 
        - https://cnb.cool/SinzMise/szn-cnb-keys/-/blob/main/blog-push.yml
      docker:
        image: hugomods/hugo:node-git
        volumes:
          - /root/.npm
          - ./node_modules
      stages:
        - name: 安装依赖
          script: |
            npm install
            npm install -g gulp-cli vercel
        - name: 构建博客 + 上传到Vercel
          script: |
            npm run build
            npm run compress
            cd public
            vercel deploy --prod --token $VERCEL_TOKEN

配置文件(Edgeone Pages):

# 定义云构建
main:
  push:
    - name: 上传到Edgeone
      imports: 
        - https://cnb.cool/SinzMise/szn-cnb-keys/-/blob/main/blog-push.yml
      docker:
        image: hugomods/hugo:node-git
        volumes:
          - /root/.npm
          - ./node_modules
      stages:
        - name: 安装依赖
          script: |
            npm install
            npm install -g gulp-cli edgeone
        - name: 构建博客 + 上传到Edgeone
          script: |
            npm run build
            npm run compress
            edgeone pages deploy ./public -n cenablog -t $EDGEONE_TOKEN

关于npm run buildnpm run compress的定义如下:

{
  "scripts": {
    "build": "node link.js && hugo --gc", // 友链朋友圈json的生成和Hugo的构建
    "compress": "gulp" // 静态资源压缩
  },
}

评论区

正在加载评论。。。。。。
如果等了很久没有评论框显示,说明评论系统出现问题。
如遇这种情况,请联系站长:email@sinzmise.top

网络回响

加载中...

发送回应

如果您在其他地方写过关于这篇文章的文章,可以在这里发送 Webmention: