From 28c00cac88bbcd3907ae3b694abedc174f19bbe6 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 22 May 2019 18:29:29 +0300 Subject: Add: rough arch diagram of CI itself --- Makefile | 2 +- arch.dot | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 arch.dot diff --git a/Makefile b/Makefile index c6b6b7d..a35b869 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ version = $(shell git describe --dirty --tags) all: ci-arch.html ci-arch.pdf -ci-arch.pdf ci-arch.html: ci-arch.mdwn ecosystem.svg pipeline.svg +ci-arch.pdf ci-arch.html: ci-arch.mdwn ecosystem.svg pipeline.svg arch.svg .dot.svg: dot -Tsvg -o$@ $< diff --git a/arch.dot b/arch.dot new file mode 100644 index 0000000..e998ea5 --- /dev/null +++ b/arch.dot @@ -0,0 +1,55 @@ +digraph ci { + gerrit [label="gerrit"]; + gerrit [shape="folder"]; + gerrit [fillcolor="white" style="filled"]; + + controller [label="CI controller"]; + controller [shape="box"]; + controller [fillcolor="grey" style="filled"]; + + vcs_worker [label="VCS worker"]; + vcs_worker [shape="ellipse"]; + vcs_worker [fillcolor="grey" style="filled"]; + + build_worker [label="build worker"]; + build_worker [shape="ellipse"]; + build_worker [fillcolor="grey" style="filled"]; + + deployment_worker [label="deployment worker"]; + deployment_worker [shape="ellipse"]; + deployment_worker [fillcolor="grey" style="filled"]; + + artifacts [label="artifact store"]; + artifacts [shape="cylinder"]; + artifacts [fillcolor="grey" style="filled"]; + + logs [label="log store"]; + logs [shape="cylinder"]; + logs [fillcolor="grey" style="filled"]; + + test_env [label="test\nenvironment"]; + test_env [shape="octagon"]; + test_env [fillcolor="#0000ee" style="filled"]; + + prod_env [label="production\nenvironment"]; + prod_env [shape="doubleoctagon"]; + prod_env [fillcolor="red" style="filled"]; + + + gerrit -> controller; + controller -> vcs_worker; + gerrit -> vcs_worker; + vcs_worker -> gerrit; + vcs_worker -> artifacts; + controller -> build_worker; + artifacts -> build_worker; + build_worker -> artifacts; + build_worker -> logs; + vcs_worker -> logs; + controller -> deployment_worker; + artifacts -> deployment_worker; + deployment_worker -> logs; + deployment_worker -> test_env; + deployment_worker -> prod_env; + +} -- cgit v1.2.1