
ganeti/ciGaneti CI镜像是专为Ganeti项目设计的持续集成环境镜像,旨在标准化和简化Ganeti相关代码的自动化构建、测试及集成流程。该镜像预配置了Ganeti开发与测试所需的依赖环境、工具链及脚本,可直接集成于主流CI平台(如GitHub Actions、Jenkins、GitLab CI等),帮助开发团队高效验证代码质量、自动化执行测试套件,并加速集成流程。
run-ci.sh),支持自定义测试流程。ganeti/ci-images:3.0对应Ganeti 3.0系列),确保环境一致性。拉取镜像
从镜像仓库拉取对应版本的CI镜像(以Ganeti 3.0为例):
bashdocker pull ganeti/ci-images:3.0
运行容器
挂载本地代码目录并执行测试(假设代码位于./ganeti-src):
bashdocker run -it \ -v $(pwd)/ganeti-src:/workspace/ganeti \ # 挂载代码目录 -v $(pwd)/test-reports:/workspace/reports \ # 挂载测试报告目录 -e GANETI_VERSION=3.0 \ # 指定目标Ganeti版本 -e TEST_TYPE=unit \ # 指定测试类型(unit/integration) ganeti/ci-images:3.0 \ run-ci.sh # 执行CI入口脚本
| 环境变量 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
GANETI_VERSION | 目标Ganeti版本(用于匹配依赖版本) | latest | 3.0/3.1/master等 |
TEST_TYPE | 测试类型 | unit | unit/integration/all |
PYTHON_VERSION | 测试使用的Python版本 | 3.9 | 3.8/3.9/3.10 |
REPORT_PATH | 测试报告输出路径 | /workspace/reports | 容器内绝对路径 |
LOG_LEVEL | 日志输出级别 | info | debug/info/warn |
在Ganeti项目的.github/workflows/ci.yml中配置:
yamlname: Ganeti CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Run Ganeti CI tests uses: docker/run-action@v3 with: image: ganeti/ci-images:3.0 volumes: - ${{ github.workspace }}:/workspace/ganeti - ${{ github.workspace }}/reports:/workspace/reports env: GANETI_VERSION: 3.0 TEST_TYPE: all REPORT_PATH: /workspace/reports
若需扩展测试步骤,可通过挂载自定义脚本覆盖默认入口脚本:
bashdocker run -it \ -v $(pwd)/custom-ci.sh:/workspace/run-ci.sh \ # 挂载自定义脚本 -v $(pwd)/ganeti-src:/workspace/ganeti \ ganeti/ci-images:3.0 \ /workspace/run-ci.sh # 执行自定义脚本
755或调整容器用户)。--network=host共享主机网络)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务