Ansible Role
Pipeline CI dla projektów Ansible Role. Skupiony wyłącznie na walidacji statycznej — uruchamia lint, składnię YAML i shellcheck, a następnie wersjonuje projekt.
Użycie
Section titled “Użycie”W projekcie dodaj do .gitlab-ci.yml:
Joby i stagi
Section titled “Joby i stagi”Przepływ CI (branch != main)
Section titled “Przepływ CI (branch != main)”Tabela jobów
Section titled “Tabela jobów”| Job | Nazwa emoji | Stage | CI | CD |
|---|---|---|---|---|
| versioning (Set Version) | 🕵 Set Version | .pre | ✅ | ❌ |
| conventional-commits | 🔍 Analyze Conventional Commits | validate | ✅ | ❌ |
| yamllint | 🕵 yamllint | validate | ✅* | ❌ |
| shellcheck | 🐚 shellcheck | validate | ✅* | ❌ |
| ansible-lint | 🧩 ansible-lint | validate | ✅ | ❌ |
| dependency | 📦 dependency | dependency | ❌ | ❌ |
| build | 🚀 build | build | ❌ | ❌ |
| deployment | 💥 deployment | deployment | ❌ | ❌ |
| unit-test | 🧪 unit-test | tests | ❌ | ❌ |
| publish | 🌐 publish | publish | ❌ | ❌ |
| versioning (Publish Version) | 📍 Publish Version | publish | ✅ | ❌ |
* tylko gdy zmienił się odpowiedni typ pliku względem main
Pipeline nie obsługuje CD —
environment-deployment-prepare,trigger-deployment,dependency,deployment,build,unit-testipublishmająwhen: never.
Ansible-specyficzny job
Section titled “Ansible-specyficzny job”🧩 ansible-lint (validate)
Section titled “🧩 ansible-lint (validate)”Statyczna analiza kodu Ansible. Uruchamia ansible-lint --force-color . na całym repozytorium.
Zmienne:
| Zmienna | Wartość | Opis |
|---|---|---|
ANSIBLE_HOST_KEY_CHECKING | false | Wyłączenie sprawdzania host key |
ANSIBLE_FORCE_COLOR | true | Kolorowy output |
Zależności 📍 Publish Version
Section titled “Zależności 📍 Publish Version”| Job | Wymagany |
|---|---|
🧩 ansible-lint | ✅ (required) |
🕵 Set Version | ✅ (artifacts) |
🔍 Analyze Conventional Commits | optional |
🕵 yamllint | optional |
🐚 shellcheck | optional |