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.