本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
gitlab-kas-agent-ci-image 是专为 GitLab KAS (Kubernetes Agent Server) Agent 开发的 CI (持续集成) 专用镜像。其核心用途是在自动化流程中对 GitLab KAS Agent 的代码变更、功能更新进行验证和测试,确保 Agent 与 KAS Server 的兼容性、功能正确性及稳定性。
完整测试工具链集成
预安装 GitLab KAS Agent 测试所需的全套依赖(如 Go 编译器、测试框架、Kubernetes 客户端工具、API 模拟工具等),无需额外配置即可启动测试流程。
多维度测试支持
支持单元测试(验证 Agent 核心逻辑)、集成测试(验证 Agent 与 KAS Server 交互)、兼容性测试(验证不同 KAS 版本适配性)及 E2E 测试(模拟真实环境下的 Agent 全流程运行)。
GitLab CI/CD 原生兼容
镜像结构和环境变量设计符合 GitLab CI/CD 规范,可直接集成到 GitLab 项目的 .gitlab-ci.yml 配置中,实现提交/合并请求触发的自动化测试。
环境隔离与一致性
标准化测试环境,避免因本地环境差异导致的测试结果不一致问题,确保团队内测试流程统一。
在项目根目录的 .gitlab-ci.yml 中引用该镜像,配置测试阶段:
stages: - test variables: # 基础环境变量(根据实际情况调整) GITLAB_TOKEN: "${CI_JOB_TOKEN}" # 使用 CI 内置令牌(默认具备项目访问权限) KAS_URL: "[***]" # 目标 KAS Server 地址 TEST_TIMEOUT: "30m" # 测试超时时间 unit-test: stage: test image: gitlab-kas-agent-ci-image:latest # 引用 CI 镜像 script: - echo "Running unit tests..." - go test ./internal/... -v -timeout ${TEST_TIMEOUT} # 运行单元测试 integration-test: stage: test image: gitlab-kas-agent-ci-image:latest variables: TEST_MODE: "integration" # 指定测试模式为集成测试 script: - echo "Running integration tests with KAS Server: ${KAS_URL}" - go test ./integration/... -v -kas-url ${KAS_URL} -timeout ${TEST_TIMEOUT} e2e-test: stage: test image: gitlab-kas-agent-ci-image:latest variables: TEST_MODE: "e2e" # 指定测试模式为 E2E 测试 K8S_CLUSTER_CONFIG: "${KUBE_CONFIG}" # (可选)E2E 测试需提供 K8s 集群配置 script: - echo "Running E2E tests..." - go test ./e2e/... -v -kas-url ${KAS_URL} -kubeconfig <(echo ${K8S_CLUSTER_CONFIG}) -timeout ${TEST_TIMEOUT}
若需在本地手动触发测试,通过 docker run 命令启动容器:
docker run -it --rm \ -e GITLAB_TOKEN="your_personal_access_token" \ -e KAS_URL="[***]" \ -e TEST_MODE="unit" \ -e TEST_TIMEOUT="10m" \ -v $(pwd):/app \ # 挂载本地代码目录到容器内 gitlab-kas-agent-ci-image:latest \ /bin/bash -c "cd /app && go test ./internal/... -v -timeout \${TEST_TIMEOUT}"
以下环境变量用于控制测试流程,可在 CI/CD 配置或手动运行时指定:
| 变量名 | 描述 | 类型 | 默认值 | 是否必填 |
|---|---|---|---|---|
GITLAB_TOKEN | GitLab API 访问令牌,用于拉取项目代码、调用 KAS 服务(需 api 权限) | string | ${CI_JOB_TOKEN} | 否 |
KAS_URL | 目标 KAS Server 的访问地址(如 [***]) | string | [***] | 是 |
TEST_MODE | 测试类型:unit(单元)、integration(集成)、e2e(E2E)、all(全量) | string | unit | 否 |
TEST_TIMEOUT | 测试总超时时间(格式:30s/5m/1h) | duration | 15m | 否 |
KAS_VERSION | 目标 KAS Server 版本(用于兼容性测试,如 v16.0.0) | string | (自动检测) | 否 |
DEBUG | 是否启用调试模式(输出详细测试日志) | boolean | false | 否 |
K8S_CLUSTER_CONFIG | E2E 测试所需的 Kubernetes 集群配置(Base64 编码或原始 kubeconfig 内容) | string | (可选) | 仅 E2E 测试 |
GITLAB_TOKEN)。GITLAB_TOKEN 建议通过 GitLab CI/CD 「变量」功能加密存储(勾选「保护变量」和「掩码变量」)。gitlab-kas-agent-ci-image:v16.0.0),避免兼容性问题。免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429