Skip to content

Ansible Role

Dokumentacja techniczna

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.

W projekcie dodaj do .gitlab-ci.yml:

include:
  - project: pl.rachuna-net/flows/gitlab
    file: pipelines/ansible-role/.gitlab-ci.yml
    ref: main

variables:
  PROJECT_TYPE: ansible-role
.pre        → 🕵 Set Version
validate    → 🔍 Analyze Conventional Commits
            → 🕵 yamllint           (tylko gdy zmienił się *.yml/*.yaml)
            → 🐚 shellcheck         (tylko gdy zmienił się *.sh/*.sh.yml)
            → 🧩 ansible-lint
publish     → 📍 Publish Version    (needs: ansible-lint + Set Version + validate joby)
JobNazwa emojiStageCICD
versioning (Set Version)🕵 Set Version.pre
conventional-commits🔍 Analyze Conventional Commitsvalidate
yamllint🕵 yamllintvalidate✅*
shellcheck🐚 shellcheckvalidate✅*
ansible-lint🧩 ansible-lintvalidate
dependency📦 dependencydependency
build🚀 buildbuild
deployment💥 deploymentdeployment
unit-test🧪 unit-testtests
publish🌐 publishpublish
versioning (Publish Version)📍 Publish Versionpublish

* tylko gdy zmienił się odpowiedni typ pliku względem main

Pipeline nie obsługuje CD — environment-deployment-prepare, trigger-deployment, dependency, deployment, build, unit-test i publish mają when: never.

Statyczna analiza kodu Ansible. Uruchamia ansible-lint --force-color . na całym repozytorium.

Zmienne:

ZmiennaWartośćOpis
ANSIBLE_HOST_KEY_CHECKINGfalseWyłączenie sprawdzania host key
ANSIBLE_FORCE_COLORtrueKolorowy output
JobWymagany
🧩 ansible-lint✅ (required)
🕵 Set Version✅ (artifacts)
🔍 Analyze Conventional Commitsoptional
🕵 yamllintoptional
🐚 shellcheckoptional