sealer 的 Makefile 设计过于单一和简陋,构建脚本(build.sh) 过于陈旧和厚重,我们可以通过一些设计方案来对 Makefile 和 build.sh 进行设计以及改进,让它们看上去很友好。
Makefile 的重构设计到很多的改变,包括一些模块的微调和 CICD actions 的变化,这些都会涉及到,也会慢慢设计,为此,之前我提过一个 RFC,移步到 → https://github.com/sealerio/sealer/issues/2148
<aside> ❓ 是否有相同的案例,或者经验?
</aside>
这是有的,在网易的 horizoncd 社区中,我成功设计了一套完整的 Makefile 流程并且可以使用。并且帮助他们改进了贡献者文档。在它们的项目中,我们能找到一套已经实现的方案,并且提出了设计文稿:https://github.com/horizoncd/horizon/issues/100:
🎯 相比较 horizon,sealer 的设计有哪些危险信号:
containers_image_openpgp exclude_graphdriver_devicemapper exclude_graphdriver_btrfs
进行编译。image/README.md at ed2844ccc615a447b98344d1bbefca61b3cb7749 · mtrmac/image
这样提高了编译和测试的难度,经过调研,我选择的测试方案是 junit-report
,在本地使用 tmp
临时目录作为缓存,提高覆盖率测试速度。
迁移目录 version/version.go → pkg/version/version.go
将 hack/
改名为 scripts/
这些文件的作用如下: