-
Notifications
You must be signed in to change notification settings - Fork 0
/
lain-cli-prepare.dot
31 lines (24 loc) · 1.37 KB
/
lain-cli-prepare.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
digraph G {
lainBuild [label="`lain build`"];
pullBuildBase [label="docker pull ${build.base}"];
prepareExist [label="存在 build.prepare"];
buildWithoutPrepare [label="以 ${build.base} 为基底镜像构建"];
prepareVersionExist [label="存在 build.prepare.version"];
keep [label="维持原来的逻辑"];
searchPrepareImage [label="从本地和远端按 prepare timestamp 寻找最新的 prepare 镜像"];
prepareImageExist [label="存在与 ${build.base} 的镜像 ID 一致的 prepare 镜像"];
buildPrepareImage [label="构建 prepare 镜像,打标签为 prepare-ImageID(${build.base})-hash(${build.base}${build.prepare.script})-${timestamp} 并 push"];
isHashUpdated [label="hash(${build.base}${build.prepare.script}) 发生变化"];
buildWithPrepare [label="以最新的 prepare 镜像为基底镜像构建"];
lainBuild -> pullBuildBase -> prepareExist;
prepareExist -> buildWithoutPrepare [label="否"];
prepareExist -> prepareVersionExist [label="是"];
prepareVersionExist -> keep [label="是"];
prepareVersionExist -> searchPrepareImage [label="否"];
searchPrepareImage -> prepareImageExist;
prepareImageExist -> buildPrepareImage [label="否"];
prepareImageExist -> isHashUpdated [label="是"];
isHashUpdated -> buildPrepareImage [label="是"];
buildPrepareImage -> buildWithPrepare;
isHashUpdated -> buildWithPrepare [label="否"];
}