[STM32F4] 在Docker容器中实现无头STM32编译

[复制链接]
518|12
zhouyou99 发表于 2025-9-13 10:32 | 显示全部楼层 |阅读模式
我们要为STM32项目设计CI/CD方案。经过初步研究,最合理的路径似乎是使用Docker容器,因为这种方法的支持更多。

可以选择两种方式:要么使用安装了完整STM32CubeIDE的Docker镜像进行命令行build,要么将项目导出为可运行的make或cmake解决方案。虽然容器体积会很大,但STM32CubeIDE方案似乎是最容易的途径。

有没有人实现这个方案?具体是怎么做到的?我已经尝试拉取几个包含STM32CubeIDE的镜像,但在Docker Desktop中运行无头build时遇到各种错误。



公羊子丹 发表于 2025-9-25 07:26 | 显示全部楼层
我之前搞过,用完整CubeIDE镜像确实太大,而且更新不方便。
周半梅 发表于 2025-9-25 07:27 | 显示全部楼层
建议还是导出Makefile,在容器里用arm-none-eabi-gcc编译,轻量很多。
帛灿灿 发表于 2025-9-25 07:28 | 显示全部楼层
你要是坚持CubeIDE,可以试试命令行模式:headless-build.sh。
童雨竹 发表于 2025-9-25 07:29 | 显示全部楼层
Docker里跑图形界面不现实,所以IDE方式总是坑多。
万图 发表于 2025-9-25 07:30 | 显示全部楼层
CI/CD常用的就是CMake + Ninja + arm工具链,配合Docker挺稳。
Wordsworth 发表于 2025-9-25 07:31 | 显示全部楼层
我用GitLab CI做过,把工具链放进镜像,编译只要几分钟。
Bblythe 发表于 2025-9-25 07:32 | 显示全部楼层
CubeIDE的项目本质也是Make工程,可以直接迁出来用。
Pulitzer 发表于 2025-9-25 07:33 | 显示全部楼层
你遇到的错误大概率是因为Eclipse环境变量在容器里没配好。
Uriah 发表于 2025-9-25 07:34 | 显示全部楼层
推荐自己构建一个基于ubuntu的镜像,把工具链和make装好就行。
Clyde011 发表于 2025-9-25 07:35 | 显示全部楼层
其实ST官网也有Docker相关的社区帖子,可以参考下。
probedog 发表于 2025-9-25 15:35 | 显示全部楼层
推荐基于CMake的Docker容器化CI/CD。
classroom 发表于 2025-9-25 15:36 | 显示全部楼层
看用轻量级Makefile容器化方案
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

52

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部