我司的自动化构建系统现在使用 docker build 。项目根目录下放一个 Dockerfile 就行。
但 docker build 有一些限制,比如无法挂载 volume,maven 的包不太能完美缓存。每次构建都要下载一部分,构建时间 2 分钟。我测试过,如果 maven 包完美缓存,构建时间 1 分钟。
所以我在想是否要提供 docker run 的构建方式 。项目根目录下放一个 buildspec.yml ,在其中指定 runtime (也是 docker 镜像),代码挂载点,卷挂载点,构建指令等等。然后自动化系统会 run 这个 runtime 镜像,将代码复制到指定位置,将卷挂载至指定位置,并执行构建指令。构建指令会在 runtime container 中调用 docker build 生成一个镜像。
但是我觉得这么做不是很优雅,有以下几个问题:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.