在Docker Swarm项目中,12 factor app的“发布”阶段对应什么?
据我所知,“ docker build”对应于 build 阶段,生成的映像不会 not 构成发行版(因为尚未将其与环境的配置)。
这是官方说明:
通过以下方式将代码库转换为(非开发)部署 三个阶段:
构建阶段是一个转换,它将代码存储库转换为 可执行软件包,称为构建。在以下位置使用代码版本 部署过程指定的提交,构建阶段获取 供应商依赖性,并编译二进制文件和资产。
版本 阶段采用构建阶段生成的构建并将其与 部署的当前配置。最终版本包含 构建和配置,并准备立即在 执行环境。
运行阶段(也称为“运行时”)运行 执行环境中的应用程序,方法是启动一些 应用针对选定版本的流程。
他们进一步澄清:
每个发行版都应始终具有唯一的发行版ID,例如 版本的时间戳记(例如2011-04-06-20:32:17)或 递增编号(例如v100)。版本是仅追加分类帐 发布一旦创建便无法更改。任何改变都必须 创建一个新版本。
每当有新代码发布时,应用程序的开发人员就会启动构建 部署。相反,运行时执行可以在 服务器重启或崩溃的进程被重启等情况 流程经理。因此,运行阶段应尽量少 尽可能移动零件,因为问题可能阻止了应用 如果没有,跑步会导致它在半夜破裂 开发人员在手。构建阶段可能会更加复杂,因为 对于驱动着 部署。