
holmusk/pi-haskell-cihaskell-ci-pi 是一个专为PI仓库设计的Haskell项目持续集成(CI)工具镜像。该镜像基于Haskell官方环境构建,集成了GHC编译器、Cabal/Stack构建工具及CI流程所需的自动化脚本,旨在简化Haskell项目在PI仓库中的CI/CD流程,实现代码拉取、依赖管理、构建、测试及报告生成的全自动化。
bashdocker pull haskell-ci-pi:latest # 最新稳定版 # 或指定GHC版本 docker pull haskell-ci-pi:ghc-9.4
bashdocker run -it --rm \ -e PI_REPO_URL="[***]" \ # PI仓库URL -e BRANCH="main" \ # 构建分支 -e BUILD_CMD="cabal build --enable-tests" \ # 构建命令 -e TEST_CMD="cabal test all" \ # 测试命令 -v /path/to/ssh-key:/root/.ssh/id_rsa:ro \ # 挂载SSH密钥(若仓库需SSH认证) -v $(pwd)/ci-output:/ci/output \ # 挂载输出目录(存放构建/测试报告) haskell-ci-pi:latest
| 环境变量名 | 描述 | 默认值 | 示例 |
|---|---|---|---|
PI_REPO_URL | PI仓库的Git地址(必填) | - | [***] |
BRANCH | 需构建的分支或标签 | main | dev、v1.0.0 |
BUILD_CMD | 自定义构建命令 | cabal build | stack build --fast |
TEST_CMD | 自定义测试命令 | cabal test | cabal test --test-show-details=direct |
CACHE_DIR | 依赖缓存目录路径 | /ci/cache | /custom/cache |
OUTPUT_REPORT | 是否生成测试报告(true/false) | true | false |
REPORT_FORMAT | 测试报告格式(txt/json/html) | txt | json |
创建 docker-compose.yml 文件:
yamlversion: '3' services: haskell-ci: image: haskell-ci-pi:ghc-9.4 environment: - PI_REPO_URL=[***] - BRANCH=dev - BUILD_CMD=stack build --resolver lts-20.3 - TEST_CMD=stack test - OUTPUT_REPORT=true - REPORT_FORMAT=html volumes: - ./ssh-key:/root/.ssh/id_rsa:ro - ./ci-reports:/ci/output restart: no
执行命令启动CI流程:
bashdocker-compose up
/path/to/ssh-key)或设置环境变量PI_ACCESS_TOKEN(适用于HTTP/HTTPS认证)。CACHE_DIR目录复用缓存,加速构建。haskell-ci-pi:ghc-9.2)。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务