docs(Stage): Add generell information about the stages of our architecture and the architecture of Docker Containers.
This commit is contained in:
parent
11a6ff9789
commit
b5121b966b
@ -1,3 +1,4 @@
|
|||||||
|
[[_container_build]]
|
||||||
= Build
|
= Build
|
||||||
|
|
||||||
.Provided Templates:
|
.Provided Templates:
|
||||||
@ -13,7 +14,7 @@ We use Kaniko because it is faster than Docker builds and has less security prob
|
|||||||
The generated image will be passed as a Tar-Artefact between stages.
|
The generated image will be passed as a Tar-Artefact between stages.
|
||||||
This allows us to make forder manipulations and scan jobs on one container Image.
|
This allows us to make forder manipulations and scan jobs on one container Image.
|
||||||
|
|
||||||
The template <<_container_publish>> allows you to publish the build image to a registry
|
The template <<_container_publish>> allows you to publish the build image to a registry.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
[#_container_publish]
|
[#_container_publish]
|
||||||
= Container Publish
|
= Publish
|
||||||
|
|
||||||
Moves a container from the filesystem to a remote repository.
|
Moves a container from the filesystem to a remote repository.
|
||||||
Needs a build container on the path `image.tar`. Use one of the Container build templates for this.
|
Needs a build container on the path `image.tar`. Use one of the Container build templates for this.
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
= Docker in Docker
|
= Docker in Docker Helper
|
||||||
|
|
||||||
This template helps to start jobs, that need a docker environment to run.
|
This template helps to start jobs, that need a docker environment to run.
|
||||||
Simply expand from this Template.
|
Simply expand from this Template.
|
||||||
|
You than have access to a Docker over the address behind `$DOCKER_HOST`
|
||||||
|
|
||||||
:template: container/docker-in-docker.gitlab-ci.yml
|
:template: container/docker-in-docker.gitlab-ci.yml
|
||||||
include::../../../template-printer.adoc[]
|
include::../../../template-printer.adoc[]
|
||||||
@ -49,20 +49,42 @@ include::chapters/templates/IaC/ansible.adoc[leveloffset=2]
|
|||||||
include::chapters/templates/IaC/docker-compose.adoc[leveloffset=2]
|
include::chapters/templates/IaC/docker-compose.adoc[leveloffset=2]
|
||||||
include::chapters/templates/IaC/ssh-transfer-data.adoc[leveloffset=2]
|
include::chapters/templates/IaC/ssh-transfer-data.adoc[leveloffset=2]
|
||||||
|
|
||||||
|
|
||||||
== Container Templates
|
== Container Templates
|
||||||
|
|
||||||
Our collection of Container Templates.
|
We have optimised building container within our templates a lot.
|
||||||
|
We found divide building and releasing containers into different jobs to be the fastest way to build container artefacts.
|
||||||
|
Because you can build your container while executing other verify stages.
|
||||||
|
Publishing containers is a very cheap operation.
|
||||||
|
|
||||||
|
The following graph charts shows thru which stages containers will go and which artefakts will be passed between stages.
|
||||||
|
[mermaid]
|
||||||
|
....
|
||||||
|
flowchart LR
|
||||||
|
|
||||||
|
subgraph Build Stage
|
||||||
|
build_src(Source Code Build) -- Needs Source artefacts --> build_c
|
||||||
|
build_c(Container-Build)
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Verify Stage
|
||||||
|
build_c -- image.tar --> cve(Scan CVEs)
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Release Stage
|
||||||
|
cve -- image.tar / Scanned --> Publish
|
||||||
|
end
|
||||||
|
Publish -- image --> Registry
|
||||||
|
....
|
||||||
|
|
||||||
include::chapters/templates/container/container-build.adoc[leveloffset=2]
|
include::chapters/templates/container/container-build.adoc[leveloffset=2]
|
||||||
include::chapters/templates/container/container-publish.adoc[leveloffset=2]
|
include::chapters/templates/container/container-publish.adoc[leveloffset=2]
|
||||||
include::chapters/templates/container/container-scan.adoc[leveloffset=2]
|
include::chapters/templates/container/container-scan.adoc[leveloffset=2]
|
||||||
|
|
||||||
|
|
||||||
== Releasing Templates
|
== Releasing Templates
|
||||||
|
|
||||||
The following Templates provide an simpler integration into the https://gitlab.exxcellent.de/gilden/ci/exxcellent-increase-version-tool[Increase-Version-Tool] of the CI-Gilde.
|
The following Templates provide an simpler integration into the https://gitlab.exxcellent.de/gilden/ci/exxcellent-increase-version-tool[Increase-Version-Tool] of the CI-Gilde.
|
||||||
We also provide finished Pipelines in our <<_pipelines>> section. We highly recommend using those Pipelines since this is our reference Implementation.
|
We also provide finished Pipelines in our <<_pipelines>> section.
|
||||||
|
We highly recommend using those Pipelines since this is our reference Implementation.
|
||||||
|
|
||||||
include::chapters/templates/releasing/push-tag-and-version-template.adoc[leveloffset=3]
|
include::chapters/templates/releasing/push-tag-and-version-template.adoc[leveloffset=3]
|
||||||
include::chapters/templates/releasing/set-version-template.adoc[leveloffset=3]
|
include::chapters/templates/releasing/set-version-template.adoc[leveloffset=3]
|
||||||
|
|||||||
@ -1,6 +1,41 @@
|
|||||||
:sourcedir: ../../../../templates
|
:sourcedir: ../../../../templates
|
||||||
|
|
||||||
== Templates and Pipelines
|
== High Level Architektur.
|
||||||
|
|
||||||
|
The entire architektur of the templates build on the following five stages.
|
||||||
|
they are assumed to be in the following order but don't have to be.
|
||||||
|
|
||||||
|
[mermaid]
|
||||||
|
....
|
||||||
|
flowchart LR
|
||||||
|
Start --> dep(Dependencies)
|
||||||
|
dep --> build(Build)
|
||||||
|
build --> verify(Verfiy)
|
||||||
|
verify --> docs(Documentation)
|
||||||
|
docs --> Release
|
||||||
|
....
|
||||||
|
|
||||||
|
=== Dependencies - dependencies
|
||||||
|
Jobs within this stage are loading all needed Dependencies. This is done for better cache management of Dependencies.
|
||||||
|
|
||||||
|
=== Build - build
|
||||||
|
Jobs within this stage, build all needed artefacts that you need in later stages and for releasing.
|
||||||
|
In case you need to build multiple artefacts execute following jobs as soon as needed artefacts are build.
|
||||||
|
Look into Gitlabs https://docs.gitlab.com/ee/ci/yaml/#needs[Needs Documentation].
|
||||||
|
|
||||||
|
=== Verify - verify
|
||||||
|
Jobs within this stage verify your repository functionality.
|
||||||
|
This is the biggest stage, within most continues integrations.
|
||||||
|
Verify and Test as much as you can in these Jobs.
|
||||||
|
|
||||||
|
=== Documentation - docs
|
||||||
|
Jobs within this stage build and publish your documentation.
|
||||||
|
|
||||||
|
=== Release - release
|
||||||
|
Jobs within this stage publish your artefacts or automate creating Tags.
|
||||||
|
For more information look into <<_pipeline_release>>
|
||||||
|
|
||||||
|
== About Templates and Pipelines
|
||||||
|
|
||||||
Within this Repository all CI Templates and CI Pipeline-Templates of the CI-Gilde can be found.
|
Within this Repository all CI Templates and CI Pipeline-Templates of the CI-Gilde can be found.
|
||||||
Templates are predefined Jobs.
|
Templates are predefined Jobs.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user