Om een pijplijn met continue integratie en continue levering (CICD) in vRealize Automation Code Stream te maken, kunt u de slimme CICD-pijplijnsjabloon gebruiken. Om uw CICD-systeemeigen build te plannen, verzamelt u de informatie die u nodig hebt om de slimme pijplijnsjabloon in te vullen voordat u deze gebruikt om de pijplijn in dit voorbeeldplan te maken.

Nadat u de informatie in de slimme pijplijnsjabloon hebt ingevoerd en de sjabloon opslaat, wordt een pijplijn gemaakt die fasen en taken bevat. De sjabloon geeft ook aan waar uw image moet worden geïmplementeerd op basis van de door u geselecteerde omgevingstypen, zoals ontwikkeling en productie. De pijplijn publiceert uw Docker-image en voert de acties uit die nodig zijn om het uit te voeren. Nadat uw pijplijn is uitgevoerd, kunt u trends volgen over alle pijplijn-uitvoeringen.

Als u een CICD-pijplijn wilt maken, moet u voor zowel de fase voor continue integratie (CI) als voor de fase voor continue levering (CD) van uw pijplijn plannen.

Wanneer een pijplijn een image van Docker Hub bevat, moet u ervoor zorgen dat cURL in de image ingesloten is voordat u de pijplijn uitvoert. Wanneer de pijplijn wordt uitgevoerd, zal vRealize Automation Code Stream een binair bestand downloaden dat cURL gebruikt om commando's uit te voeren.

De fase voor continue integratie (CI) plannen

Om de CI-fase van uw pijplijn te plannen, stelt u de externe en interne vereisten in en bepaalt u de informatie die moet worden ingevoerd in het CI-gedeelte van de slimme pijplijnsjabloon. Hier volgt een overzicht.

Eindpunten en opslagplaatsen die u nodig heeft:

  • Een opslagplaats voor Git-broncode waar uw ontwikkelaars code inchecken. vRealize Automation Code Stream haalt de meest recente code op in de pijplijn wanneer ontwikkelaars wijzigingen doorvoeren.
  • Een Git-eindpunt voor de opslagplaats waar de broncode van de ontwikkelaars zich bevindt.
  • Een Docker-eindpunt voor de Docker-buildhost die de bouwcommando’s in een container uitvoert.
  • Een Kubernetes-eindpunt zodat vRealize Automation Code Stream uw image kan implementeren op een Kubernetes-cluster.
  • Een builderimage die de container maakt waarop de continue integratietests worden uitgevoerd.
  • Een imageregister-eindpunt zodat de Docker-buildhost daar de builderimage kan ophalen.

U heeft toegang tot een project nodig. Het project groepeert al uw werk, inclusief uw pijplijn, eindpunten en dashboards. Controleer of u lid bent van een project in vRealize Automation Code Stream. Als u geen beheerder bent, vraagt u de vRealize Automation Code Stream-beheerder om u als lid toe te voegen aan een project. Zie Hoe voeg ik een project toe in vRealize Automation Code Stream?.

U zult een Git-webhook nodig hebben waarmee vRealize Automation Code Stream de Git-trigger kan gebruiken om uw pijplijn te activeren wanneer ontwikkelaars codewijzigingen doorvoeren. Zie Hoe gebruik ik de Git-trigger in vRealize Automation Code Stream om een pijplijn uit te voeren?.

Uw build-toolsets:

  • Uw buildtype, zoals Maven.
  • Alle buildtools voor de naverwerking die u gebruikt, inclusief JUnit, JaCoCo, Checkstyle en FindBugs.

Uw publicatietool:

  • Een tool, zoals Docker, die uw buildcontainer implementeert.
  • Een imagetag, ofwel de commit-ID ofwel het buildnummer.

Uw werkruimte voor het bouwen:

  • Een Docker-buildhost, oftewel het Docker-eindpunt.
  • Een imageregister. Het CI-gedeelte van de pijplijn haalt de image op van het geselecteerde registereindpunt. De container voert de CI-taken uit en implementeert uw image. Als het register verificatiegegevens vereist, moet u eerst een imageregister-eindpunt maken en dit vervolgens hier selecteren, zodat de host de image uit het register kan ophalen.
  • URL voor de builderimage die de container maakt waarop de taken voor continue integratie worden uitgevoerd.

De fase voor continue levering (CD) plannen

Om de CD-fase van uw pijplijn te plannen, stelt u de externe en interne vereisten in en bepaalt u de informatie die moet worden ingevoerd in het CD-gedeelte van de slimme pijplijnsjabloon.

Eindpunten die u nodig heeft:

  • Een Kubernetes-eindpunt zodat vRealize Automation Code Stream uw image kan implementeren op een Kubernetes-cluster.

Omgevingstypen en -bestanden:

  • Alle omgevingstypen waar vRealize Automation Code Stream uw applicatie implementeert, zoals ontwikkeling en productie. De slimme pijplijnsjabloon maakt de fasen en taken in uw pijplijn op basis van de door u geselecteerde omgevingstypen.
    Tabel 1. Pijplijnfasen die door de slimme CICD-pijplijnsjabloon worden gemaakt
    Pijplijn-inhoud Wat het doet
    Bouw-publicatiefase Bouwt en test uw code, maakt de builderimage en publiceert de image naar uw Docker-host.
    Ontwikkelingsfase Gebruikt een Amazon Web Services (AWS)-cluster voor ontwikkeling om uw image te maken en te implementeren. In deze fase kunt u een naamruimte op het cluster maken en een geheime sleutel maken.
    Productiefase Gebruikt een productieversie van de VMware Tanzu Kubernetes Grid Integrated Edition (voorheen VMware Enterprise PKS) om uw image naar een Kubernetes-cluster in productie te implementeren.
  • Een Kubernetes YAML-bestand dat u selecteert in het CD-gedeelte van de slimme CICD-pijplijnsjabloon.

    Als u het bestand wilt toepassen, klikt u op Selecteren, selecteert u het Kubernetes YAML-bestand en klikt u op Verwerken. In de slimme pijplijnsjabloon worden de beschikbare services en implementatieomgevingen weergegeven. U selecteert een service, het clustereindpunt en de implementatiestrategie. Als u bijvoorbeeld het Canary-implementatiemodel wilt gebruiken, selecteert u Canary en voert u een percentage in voor de implementatiefase.

    Een Canary CICD-implementatie verwerken.

Zie Hoe implementeer ik mijn applicatie in vRealize Automation Code Stream naar mijn Blue-Green-implementatie? als u een voorbeeld wilt zien van het gebruik van de slimme pijplijnsjabloon om een pijplijn te maken voor een Blue-Green-implementatie.

Hoe u de CICD-pijplijn maakt met behulp van de slimme pijplijnsjabloon

Nadat u alle informatie hebt verzameld en het benodigde hebt ingesteld, kunt u op de volgende manier een pijplijn maken op basis van de slimme CICD-pijplijnsjabloon.

In pijplijnen selecteert u Nieuwe pijplijn > Slimme sjablonen.

Een slimme sjabloon selecteren.

U selecteert de slimme CICD-pijplijnsjabloon.

Een pijplijn voor continue integratie en levering maken vanuit een slimme CICD-pijplijnsjabloon.

U vult de sjabloon in en slaat de pijplijn op met de fasen die deze maakt. Als u nog laatste wijzigingen moet aanbrengen, kunt u de pijplijn bewerken en opslaan.

Nieuwe CICD-pijplijnfasen gemaakt op basis van een slimme CICD-pijplijnsjabloon.

Vervolgens schakelt u de pijplijn in en voert u deze uit. Nadat deze is uitgevoerd, kunt u de volgende zaken nog bekijken:

  • Controleer of uw pijplijn is geslaagd. Klik op Uitvoeringen en zoek naar uw pijplijn. Als de pijplijn is mislukt, corrigeert u eventuele fouten en voert u deze opnieuw uit.
  • Controleer of de Git-webhook goed werkt. Op het tabblad Activiteit in Git worden de gebeurtenissen weergegeven. Klik op Triggers > Git > Activiteit.
  • Bekijk het pijplijndashboard en onderzoek de trends. Klik op Dashboards en zoek naar uw pijplijndashboard. U kunt ook een custom dashboard maken om te rapporteren over aanvullende KPI's.

Zie Hoe kan ik code vanuit mijn GitHub- of GitLab-opslagplaats continu integreren in mijn pijplijn in vRealize Automation Code Stream? voor een gedetailleerd voorbeeld.