You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Woodpecker CI部署Jekyll至Codeberg Pages报jekyll加载失败

问题原因

报错核心是依赖缺失:

  • 你项目根目录的Gemfile中声明了github-pages依赖,但你使用的jekyll/jekyll官方基础镜像仅预装了Jekyll核心组件,不会自带github-pages这个整合了大量Pages兼容插件的gem包。
  • 你的流水线执行逻辑完全跳过了bundle install安装项目依赖的步骤,Bundler在执行bundle exec jekyll build时,会校验Gemfile中所有声明的依赖是否在本地存在,找不到对应gem就会抛出Bundler::GemNotFound错误。
修复方法

调整流水线配置,在构建前增加依赖安装步骤,同时补全git部署必要的身份配置、修正鉴权地址写法,可直接使用的配置如下:

pipeline:
  publish:
    image: jekyll/jekyll
    secrets: [ codeberg_access_token ]
    commands:
      # 安装项目声明的所有Ruby依赖
      - bundle install
      # 指定生产环境构建,跳过开发类依赖
      - JEKYLL_ENV=production bundle exec jekyll build
      - cd _site
      - git init
      # 配置git提交身份,避免commit阶段报错
      - git config user.name "Woodpecker CI"
      - git config user.email "ci@noreply.local"
      # 修正Codeberg鉴权地址格式,避免token鉴权失败
      - git remote add up https://$CODEBERG_ACCESS_TOKEN@codeberg.org/mikwee/pages.git
      - git add .
      - git commit -m "Auto deploy to Codeberg Pages"
      - git push -u up master -f

额外优化提示:

  • 如果你不需要兼容GitHub Pages的依赖环境,可以直接把Gemfile里的gem "github-pages"行删除,只保留你实际用到的Jekyll和对应插件依赖,能大幅缩短CI执行时间。
  • 如果依赖安装速度慢,可以在bundle install前增加RubyGems镜像源配置,进一步提升执行效率。

内容的提问来源于stack exchange,提问作者mikwee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 01:57:12