Image builder

gitlab Image builder

Proces gitlab CI dla image builder (budowanie kontenerów)


Gitlab-ci pipeline

---
config:
  theme: redux
---
flowchart LR
 subgraph s1["prepare"]
        n1["🔍 Analyze Conventional Commits"]
        n2["⚙️ Input Parameters"]
        n3["🕵 Set Version"]
  end
 subgraph s2["validate"]
        n4["🧪 Validate files (conftest)"]
        n11@{ label: "<div style=\"color:\"><span style=\"color:\">🧑‍💻 YAML lint</span></div>" }
  end
 subgraph s3["build"]
        n5["🚀 build container image"]
  end
 subgraph s4["publish"]
        n6["🌐 publish container image"]
  end
 subgraph s5["release"]
        n8["📍 Publish Version"]
  end
 subgraph s6["integration-test"]
        n9["🔬 trivy (dast)"]
        n10["🧪 test docker image"]
  end
    s1 --> s2
    s2 --> s3
    s3 --> s4
    s4 --> s5
    s5 --> s6
    n1 --- n2
    n2 --- n3
    n9 --- n10
    n4 --> n11
    n11@{ shape: rect}
    click n1 "https://gitlab.com/pl.rachuna-net/cicd/components/prepare/-/blob/main/templates/conventional_commits.yml?ref_type=heads"
    click n2 "https://gitlab.com/pl.rachuna-net/cicd/components/prepare/-/blob/main/templates/input_parameters.yml?ref_type=heads"
    click n3 "https://gitlab.com/pl.rachuna-net/cicd/components/release/-/blob/main/templates/set_version.yml?ref_type=heads"
    click n4 "https://gitlab.com/pl.rachuna-net/cicd/components/validate/-/blob/main/templates/contrest.yml"
    click n5 "https://gitlab.com/pl.rachuna-net/cicd/components/containers/-/blob/main/templates/image-builder.yml"
    click n6 "https://gitlab.com/pl.rachuna-net/cicd/components/containers/-/blob/main/templates/image-builder.yml"
    click n8 "https://gitlab.com/pl.rachuna-net/cicd/components/release/-/blob/main/templates/versioning.yml"
    click n9 "https://gitlab.com/pl.rachuna-net/cicd/components/ast/-/blob/main/templates/trivy.yml?ref_type=heads"
    click n10 "https://gitlab.com/pl.rachuna-net/cicd/components/containers/-/blob/main/templates/image-builder.yml"
    click n11 "https://gitlab.com/pl.rachuna-net/cicd/components/validate/-/blob/main/templates/yamllint.yml?ref_type=heads"
Stage Job Opis
prepare 🔍 Analyze Conventional Commits Analiza konwencji commitów (Conventional Commits) w celu ustalenia poprawności komunikatów
prepare ⚙️ Input Parameters Wyświetlenie i weryfikacja parametrów wejściowych procesu CI
prepare 🕵 Set Version Ustalanie wersji aplikacji na podstawie commitów i reguł wersjonowania semantycznego
validate 🧪 Validate files (conftest) Walidacja plików YAML/JSON w oparciu o polityki OPA/Conftest
validate 🧑‍💻 YAML lint Walidacja składni plików YAML(lintowanie)
build 🚀 build container image Budowanie obrazu kontenera z użyciem Buildah
publish 🌐 publish container image Publikacja obrazu kontenera do rejestru Docker/GitLab
release 🎉 Publish version in vault Zapisanie informacji o wydanej wersji w systemie Vault
release 📍 Publish Version Publikacja wersji (np. tagowanie, release na repozytorium)
integration-test 🔬 trivy (dast) Skanowanie obrazu kontenera pod kątem luk bezpieczeństwa przy użyciu Trivy
integration-test 🧪 test docker image Testy integracyjne gotowego obrazu kontenera
Last modified August 14, 2025: feat!: DEVOPS-123 Zmiana mkdocs na hugo (660375f)