airbyte/platform-arc-runner本镜像作为CI/CD流程的核心执行环境,专为平台级项目构建设计,集成完整的开发工具链与自动化能力。通过标准化运行环境,解决多团队协作中的环境一致性问题,实现从代码提交到制品交付的全流程自动化,提升平台项目的构建效率与可靠性。
bashdocker run -it --rm \ --name platform-ci-runner \ -v /本地项目路径:/workspace \ -e CI_PROJECT_DIR=/workspace \ -e BUILD_SCRIPT=./scripts/build.sh \ -e TEST_ENABLED=true \ [镜像名称]:[版本标签]
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
| CI_PROJECT_DIR | 项目工作目录路径,容器内代码存放位置 | /workspace |
| BUILD_SCRIPT | 构建脚本路径(相对于CI_PROJECT_DIR),包含构建、测试、打包完整逻辑 | ./build.sh |
| TEST_ENABLED | 是否执行测试流程(true/false),设为false时仅执行编译打包步骤 | true |
| ARTIFACT_OUTPUT_DIR | 构建产物输出目录路径(相对于CI_PROJECT_DIR) | ./artifacts |
| CACHE_DIR | 依赖缓存目录,用于存储Maven/Gradle依赖、npm包等 | /root/.cache |
| LOG_LEVEL | 日志输出级别(debug/info/warn/error),debug级别包含详细流程日志 | info |
yamlversion: '3.8' services: ci-runner: image: [镜像名称]:[版本标签] volumes: - ./project-code:/workspace:rw - ci-cache:/root/.cache:rw # 持久化缓存目录 environment: - CI_PROJECT_DIR=/workspace - BUILD_SCRIPT=./ci/build-pipeline.sh - TEST_ENABLED=true - ARTIFACT_OUTPUT_DIR=/workspace/target - LOG_LEVEL=info command: ["sh", "-c", "chmod +x $CI_PROJECT_DIR/$BUILD_SCRIPT && $CI_PROJECT_DIR/$BUILD_SCRIPT"] volumes: ci-cache: # 命名卷用于持久化缓存,加速后续构建
构建脚本(BUILD_SCRIPT指定文件)需包含以下关键步骤(根据项目类型调整):
npm install、mvn dependency:resolve)go build、javac)pytest、mvn test)docker build、mvn package)示例构建脚本(build.sh):
bash#!/bin/bash set -e # 出错立即退出 # 依赖安装 echo "Installing dependencies..." mvn dependency:resolve # 代码编译 echo "Compiling source code..." mvn compile # 单元测试 if [ "$TEST_ENABLED" = "true" ]; then echo "Running unit tests..." mvn test fi # 产物打包 echo "Packaging artifacts..." mvn package -DskipTests # 输出产物到指定目录 mkdir -p "$ARTIFACT_OUTPUT_DIR" cp target/*.jar "$ARTIFACT_OUTPUT_DIR/" echo "Build completed successfully. Artifacts in $ARTIFACT_OUTPUT_DIR"
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务