Pre-commit hook-script
Voorbeeld van een pre-commit hook-script in de ansible-inventory referentie-implementatie, dat geautomatiseerde linting voor Ansible-projecten demonstreert.
Categories:
De ansible-inventory
Referentie-implementatie
c2platform/c2/ansible-inventory bevat een voorbeeld van een pre-commit hook-script. Het script
voert YAML- en Ansible-lintingtools uit om de codekwaliteit te waarborgen voor commits. Het
activeert een virtuele omgeving, voert yamllint en ansible-lint uit, en laat de
commit mislukken als er fouten worden gevonden.
doc/howto-development/pre-commit
#!/bin/bash
set -euo pipefail
C2_LINTERS_VIRTUALENV=${C2_LINTERS_VIRTUALENV:-c2d}
export ANSIBLE_COLLECTIONS_PATH=./
# shellcheck disable=SC1090
source "${HOME}/.virtualenv/${C2_LINTERS_VIRTUALENV}/bin/activate"
yamllint -c .yamllint . > yamllint.log 2>&1 || true
if [[ -s yamllint.log ]]; then
echo "yamllint failed. See yamllint.log for details."
exit 1
fi
if ! ansible-lint -c .ansible-lint --nocolor > ansible-lint.log 2>&1; then
echo "ansible-lint failed. See ansible-lint.log for details"
exit 1
fi
Aanvullende informatie
- Kloon script: Automatiseer de installatie van de ontwikkelomgeving met meerdere Git repositories.
- Ansible-inventarisproject: Een gestructureerde verzameling bestanden die worden gebruikt voor het beheren van hosts en configuraties. Het omvat doorgaans inventarisbestanden, playbooks, hostconfiguraties, groepsvariabelen en Ansible Vault-bestanden.
- Ansible-collectieproject: Een Ansible Collectieproject is een uitgebreide eenheid die modules, plugins, rollen en documentatie combineert om de automatiseringstaal te verbeteren en infrastructuren te beheren. Het dient als een herbruikbaar en verspreidbaar pakket van Ansible-inhoud.
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.