Utworzenie procesu CI dla opentofu

W tym artykule opiszę jak zbudowałem własny centralne repozytorium dla opentofu
Założenia
Section titled “Założenia”- Wdrażamy wersjonowanie repozytorium za pomocą semantic-release
Krok po kroku
Section titled “Krok po kroku”-
Utworzenie grupy dla procesów gitlab-ci
Section titled “Utworzenie grupy dla procesów gitlab-ci”-
Utworzenie grupy pl.rachuna-net/cicd
-
Utworzenie repozytorium pl.rachuna-net/cicd/gitlab-ci
-
Utworzenie grupy pl.rachuna-net/artifacts/containers
-
Utworzenie repozytorium pl.rachuna-net/artifacts/containers/opentofu
-
-
Utworzenie infrastruktury dla gitlab-ci
Section titled “Utworzenie infrastruktury dla gitlab-ci” -
Utworzenie centralnego router procesów CI/CD
Section titled “Utworzenie centralnego router procesów CI/CD”Główny plik
.gitlab-ci.ymlpełni rolę centralnego routera procesów CI/CD, którego zadaniem nie jest bezpośrednia definicja logiki buildów czy wdrożeń, lecz koordynacja i orkiestracja całego procesu pipeline w sposób spójny, skalowalny i możliwy do rozszerzania.Kluczowe założenia architektoniczne
- Pipeline jest komponowany dynamicznie z wielu mniejszych, wyspecjalizowanych plików YAML.
- Każdy projekt korzystający z tego repozytorium dziedziczy wspólny zestaw obowiązkowych jobów, niezależnie od typu projektu.
- Logika specyficzna dla danego typu projektu jest delegowana do dedykowanych pipeline’ów procesowych, wybieranych na podstawie zmiennych środowiskowych.
-
Definicja stages i workflow
Section titled “Definicja stages i workflow”configs/stages.yml:
configs/workflow.yml:
-
Utworzenie jobów dla opentofu
Section titled “Utworzenie jobów dla opentofu”pipelines/opentofu-module/.gitlab-ci.yml:
pipelines/opentofu/.gitlab-ci.yml:
-
Zapisanie zmian i uruchomienie pipeline
Section titled “Zapisanie zmian i uruchomienie pipeline”Wydanie wersji gitlab-ci v1.0.0
