
ardupilot/ardupilot-dev-periphArduPilot是一款先进、功能全面且可靠的开源自动驾驶软件,自2010年起由专业工程师、计算机科学家及社区贡献者共同开发,支持控制多种车辆系统(如固定翼飞机、多旋翼、直升机、地面车辆、船只、潜艇等)。
本Docker镜像是ArduPilot的CI(持续集成)专用镜像,主要用途为构建AP_Periph组件。AP_Periph是ArduPilot生态中的外围设备支持库,负责传感器、执行器等外围硬件的驱动与通信功能。该镜像旨在为AP_Periph的构建提供标准化、一致的环境,确保持续集成流程中的构建稳定性与可重复性。
专为CI流程设计,支持与主流CI/CD平台(如GitHub Actions、Jenkins、GitLab CI等)无缝集成,自动化AP_Periph的构建流程。
预配置了构建AP_Periph所需的依赖工具链(如编译器、链接器、库文件等),避免因环境差异导致的构建失败,确保跨平台、跨节点的构建一致性。
针对AP_Periph的源码结构与构建需求优化,可直接执行构建命令生成目标文件(如库文件、固件镜像),支持多架构编译(视配置而定)。
基于ArduPilot开源项目,镜像构建脚本(Dockerfile)完全公开,支持用户根据需求自定义扩展(如添加额外依赖、调整编译参数)。
供开发人员在本地或CI环境中快速构建AP_Periph,验证代码修改后的编译正确性。
作为持续集成流水线的核心构建环境,在代码提交、PR创建等触发条件下自动执行AP_Periph构建,确保代码质量。
用于夜间构建、版本发布等场景,批量生成AP_Periph的不同版本(如调试版、发布版)。
从Docker仓库拉取最新版本镜像(具体仓库地址需参考官方源,以下为示例命令):
bashdocker pull ardupilot/ardupilot-ci:latest
在CI流程或本地环境中,通过docker run执行AP_Periph构建。示例:
bashdocker run --rm -v $(pwd):/ardupilot ardupilot/ardupilot-ci:latest \ /bin/bash -c "cd /ardupilot/AP_Periph && make clean && make"
--rm:构建完成后自动删除容器-v $(pwd):/ardupilot:将本地ArduPilot源码目录挂载到容器内/ardupilot路径在.github/workflows/build-ap-periph.yml中集成:
yamljobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Pull ArduPilot CI image run: docker pull ardupilot/ardupilot-ci:latest - name: Build AP_Periph run: | docker run --rm -v $(pwd):/ardupilot ardupilot/ardupilot-ci:latest \ /bin/bash -c "cd /ardupilot/AP_Periph && make"
该镜像主要用于CI流程,通常通过挂载源码目录和执行命令参数控制构建行为,常见环境变量(视具体版本支持):
BUILD_TARGET:指定构建目标(如debug、release),默认值可能为releaseBRANCH:指定构建的代码分支,需配合源码挂载路径使用MAKE_FLAGS:传递额外的make参数(如-j4启用并行编译)MAKE_FLAGS="-j$(nproc)"启用多线程编译加速.bin、.a文件)会输出到挂载目录的AP_Periph/build下,可通过容器外路径访问





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