Voorbeeld CI/CD-pijplijn voor een Ansible-collectie
Voorbeeld CI/CD-pijplijn voor een Ansible-collectie
Om het ontwikkel- en releaseproces van Ansible-collecties te optimaliseren, kun je een CI/CD-pijplijn maken die codevalidatie en handmatige stappen bevat voor het uitbrengen van een nieuwe versie van een Ansible-collectie naar Ansible Galaxy .
Om het ontwikkel- en releaseproces van Ansible-collecties te stroomlijnen, kun
je Git integreren met CI/CD-pijplijnen. Het voorbeeldbestand
.gitlab-ci.yml
dat aan
deze pagina is gekoppeld, biedt een sjabloonpijplijn die codevalidatie en
handmatige stappen omvat voor het uitgeven van een nieuwe versie van een
Ansible-collectie aan Ansible Galaxy.
Het bestand bevat de configuratie voor de pijplijnfasen en -taken:
De prepare-taak in de buildfase extraheert de collectieversie, naam en
namespace uit het galaxy.yml-bestand en slaat deze op als omgevingsvariabelen
voor later gebruik. Het maakt een variables.env-bestand aan om deze variabelen
als artifacts op te slaan.
De build-taak verpakt de Ansible-collectie en genereert het
README.md-bestand vanuit README-GALAXY.md. De resulterende collectie wordt
als een artifact opgeslagen.
De yamllint-taak voert het yamllint-hulpmiddel uit om de YAML-code te
valideren.
De ansible-lint-taak installeert de collectie die in de vorige fase is gebouwd
en voert het ansible-lint-hulpmiddel uit om de Ansible-code te valideren.
De publish-taak publiceert de Ansible-collectie naar Ansible Galaxy. Het
verpakt de collectie, genereert het README.md-bestand vanuit
README-GALAXY.md en publiceert het naar Ansible Galaxy met behulp van de
opgegeven API-sleutel.
De gitlab-release-taak maakt een release in GitLab voor de Ansible-collectie.
Het gebruikt de informatie uit galaxy.yml, inclusief de versie en changelog,
om de release te creëren. De release is gekoppeld aan de commit en kan worden
benaderd via de opgegeven release-naam.
Om deze pijplijn als sjabloon voor jouw Ansible-collecties te gebruiken, volg je deze stappen:
.gitlab-ci.yml en galaxy.yml..gitlab-ci.yml-bestand op basis van
jouw specifieke vereisten. Kopieer de bijgewerkte pijplijnconfiguratie
hieronder.galaxy.yml-bestand bij met de relevante informatie voor jouw
Ansible-collectie, zoals de namespace, naam, versie, beschrijving en links
naar documentatie en issues.before_script-sectie van het
.gitlab-ci.yml-bestand aan indien nodig.GALAXY_API_KEY voor publicatie naar
Ansible Galaxy.Door Git met CI/CD-pijplijnen te integreren voor Ansible-collecties, kun je profiteren van de volgende voordelen:
.gitlab-ci.yml-bestand van de Ansible-collectie
c2platform.gis
. Dit project
bevat ook een Azure CI/CD-pijplijn, zie azure-pipelines.yml.Voorbeeld CI/CD-pijplijn voor een Ansible-collectie
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.