cibuilds/hugo是一个基于Hugo静态网站生成器的Docker镜像,集成了HTMLProofer工具用于网站测试。该镜像主要设计为CircleCI 2.0的基础镜像,用于Hugo静态网站项目的自动化构建、测试与部署流程。未来计划扩展支持本地开发环境测试及Travis CI等其他CI/CD平台。
在CircleCI 2.0中使用该镜像构建Hugo网站,需在项目根目录的.circleci/config.yml中配置以下内容:
yamlversion: 2 jobs: build: docker: - image: felicianotech/docker-hugo:0.50 # 指定镜像版本 working_directory: ~/project # 工作目录 steps: - checkout # 拉取代码仓库 - run: name: "构建网站" # 运行Hugo生成静态文件 command: HUGO_ENV=production hugo -v -s src/ - run: name: "测试网站" # 使用HTMLProofer测试生成的网站 command: htmlproofer src/public --allow-hash-href --check-html --empty-alt-ignore --disable-external
docker字段中指定镜像felicianotech/docker-hugo:0.50(版本号需根据实际需求调整)。working_directory: ~/project设置CI环境的工作目录。checkout:拉取当前代码仓库到工作目录。HUGO_ENV=production hugo -v -s src/生成网站,其中:
HUGO_ENV=production:设置Hugo环境为生产环境。-v:启用详细输出模式,便于调试。-s src/:指定Hugo源文件目录为src(需根据项目结构调整)。htmlproofer测试生成的静态文件(默认输出到src/public),参数说明:
--allow-hash-href:允许#开头的锚点链接。--check-html:检查HTML语法有效性。--empty-alt-ignore:忽略图片空alt属性警告。--disable-external:不检查外部链接(可根据需求移除)。虽然镜像主要面向CI环境,也可通过以下命令在本地构建Hugo网站(需替换版本号为实际镜像标签):
bash# 本地构建Hugo网站(假设当前目录为项目根目录,Hugo源文件在src/) docker run --rm -v $(pwd):/project cibuilds/hugo:版本号 \ sh -c "cd /project && HUGO_ENV=production hugo -v -s src/"
--rm:容器退出后自动删除。-v $(pwd):/project:将本地当前目录挂载到容器内/project目录。sh -c执行多步操作,进入挂载目录并运行Hugo构建命令。HUGO_ENV:Hugo运行环境,常用值为production(生产环境)或development(开发环境),影响Hugo的配置加载和优化级别。-v/--verbose:启用详细输出,便于调试构建过程。-s <目录>/--source <目录>:指定Hugo源文件目录(含config.toml、content/等)。-t <主题>/--theme <主题>:指定使用的Hugo主题(需提前安装主题)。-d <目录>/--destination <目录>:指定静态文件输出目录(默认public/)。--allow-hash-href:允许页面内锚点链接(如#section)。--check-html:通过html5lib检查HTML语法正确性。--empty-alt-ignore:忽略<img>标签空alt属性的警告。--disable-external:禁用外部链接检查(加速测试,需外部检查时移除)。--url-ignore <模式>:忽略符合正则模式的链接(如--url-ignore '/example\.com/')。如需构建自定义版本镜像,可按以下步骤操作:
生成Dockerfile:运行项目中的gen-dockerfiles.sh脚本,传入需支持的Hugo版本号:
bash# 示例:生成支持Hugo 0.18.1和0.19版本的Dockerfile ./gen-dockerfiles.sh 0.18.1 0.19
提交与触发构建:将生成的Dockerfile提交至GitHub仓库,CircleCI会自动构建并推送镜像至Docker Hub。
以下网站基于Hugo开发并使用本镜像构建(部分项目配置开源):
FelicianoTech。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429