Om een pijplijn met continue integratie en continue levering (CICD) in Code Stream te maken, kunt u handmatig fasen en taken toevoegen. Om uw CICD-systeemeigen build te plannen, verzamelt u de informatie die u nodig heeft en maakt u vervolgens een pijplijn waaraan u handmatig fasen en taken toevoegt.
U moet zowel de fase voor continue integratie (CI) als de fase voor continue levering (CD) van uw pijplijn plannen. Nadat u de pijplijn heeft gemaakt en uitgevoerd, kunt u trends in de pijplijn-uitvoeringen volgen.
Wanneer een pijplijn een image van Docker Hub bevat, moet u ervoor zorgen dat cURL of wget in de image is ingesloten voordat u de pijplijn uitvoert. Wanneer de pijplijn wordt uitgevoerd, downloadt Code Stream een binair bestand dat gebruikmaakt van cURL of wget om commando's uit te voeren.
De Code Stream-pijplijnwerkplek ondersteunt Docker en Kubernetes voor taken voor continue integratie en aangepaste taken.
Zie De pijplijnwerkplek configureren voor meer informatie over het configureren van de werkplek.
De externe en interne vereisten plannen
Als u de CI- en CD-fasen van uw pijplijn wilt plannen, geven de volgende vereisten aan wat u moet doen voordat u uw pijplijn maakt.
In dit voorbeeld wordt een Docker-werkplek gebruikt.
Als u een pijplijn wilt maken op basis van dit voorbeeldplan, gebruikt u een Docker-host, een Git-opslagplaats, Maven en verschillende buildtools voor naverwerking.
Eindpunten en opslagplaatsen die u nodig heeft:
- Een opslagplaats voor Git-broncode waar ontwikkelaars hun code inchecken. Code Stream haalt de meest recente code op in de pijplijn wanneer ontwikkelaars wijzigingen doorvoeren.
- Een Docker-eindpunt voor de Docker-buildhost die de bouwcommando’s in een container uitvoert.
- 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 Code Stream. Als u geen beheerder bent, vraagt u de Code Stream-beheerder om u als lid toe te voegen aan een project. Zie Hoe voeg ik een project toe in Code Stream?.
U zult een Git-webhook nodig hebben waarmee Code Stream de Git-trigger kan gebruiken om uw pijplijn te activeren wanneer ontwikkelaars codewijzigingen doorvoeren. Zie Hoe gebruik ik de Git-trigger in Code Stream om een pijplijn uit te voeren?.
Hoe u de CICD-pijplijn maakt en de werkruimte configureert
U moet de pijplijn maken en vervolgens de werkruimte, de invoerparameters voor de pijplijn en taken configureren.
Om de pijplijn te maken, klikt u op
.
Voer de gegevens over continue integratie in op het tabblad Werkruimte:
- Neem uw Docker-buildhost op.
- Voer de URL voor uw builderimage.
- Selecteer het imageregister-eindpunt zodat de pijplijn de image daarvan kan ophalen. De container voert de CI-taken uit en implementeert uw image. Als het register verificatiegegevens vereist, moet u eerst het imageregister-eindpunt maken en dit vervolgens hier selecteren, zodat de host de image uit het register kan ophalen.
- Voeg de artefacten toe die in de cache moeten worden opgeslagen. Voor een geslaagde build worden artefacten, zoals directory's, gedownload als afhankelijkheden. De cache is de locatie waar deze artefacten zich bevinden. Afhankelijke artefacten kunnen bijvoorbeeld de
.m2
-map voor Maven en denode_modules
-map voor Node. js bevatten. Deze directory's worden in de cache opgeslagen bij de uitvoering van pijplijnen om tijd te besparen tijdens de builds.
Configureer de inputparameters voor de pijplijn op het tabblad Input.
- Als uw pijplijn invoerparameters van een Git-, Gerrit- of Docker-triggergebeurtenis gebruikt, selecteert u het triggertype voor het Automatisch injecteren van parameters. Gebeurtenissen kunnen Onderwerp wijzigen voor Gerrit of Git of Naam van de eigenaar van de gebeurtenis voor Docker omvatten. Als uw pijplijn geen invoerparameters gebruikt die worden doorgegeven vanaf de gebeurtenis, laat u de selectie van Automatisch injecteren van parameters op Geen ingesteld staan.
- Als u een waarde en een beschrijving wilt toepassen op een inputparameter voor de pijplijn, klikt u op de drie verticale puntjes en klikt u op Bewerken. De waarde die u invoert, wordt gebruikt als input voor taken, fasen of meldingen.
- Om een inputparameter voor een pijplijn toe te voegen, klikt u op Toevoegen. U kunt bijvoorbeeld approvers toevoegen om een standaardwaarde voor elke uitvoering weer te geven, maar die kan worden omzeild om een andere goedkeurder bij runtime weer te geven.
- Als u een ingevoerde parameter wilt toevoegen of verwijderen, klikt u op Geïnjecteerde parameter toevoegen/verwijderen. U kunt bijvoorbeeld een ongebruikte parameter verwijderen om de pagina met zoekresultaten overzichtelijker te maken en alleen de invoerparameters weer te geven die worden gebruikt.
Configureer de pijplijn om uw code te testen:
- Voeg een CI-taak toe en configureer deze.
- Neem stappen op om
mvn test
uit te voeren op uw code. - Om eventuele problemen na de taakuitvoeringen te identificeren, voert u buildtools voor naverwerking uit, zoals JUnit en JaCoCo, FindBugs en Checkstyle.
Configureer de pijplijn om uw code te bouwen:
- Voeg een CI-taak toe en configureer deze.
- Neem stappen op om
mvn clean install
uit te voeren in uw code. - Neem de locatie en de JAR-bestandsnaam op zodat uw artefact behouden blijft.
Configureer de pijplijn om uw image op uw Docker-host te publiceren:
- Voeg een CI-taak toe en configureer deze.
- Voeg stappen toe die uw image doorvoeren, exporteren, bouwen en pushen.
- Voeg de exportsleutel van
IMAGE
toe voor de volgende taak die moet worden geconsumeerd.
Nadat u de werkruimte, de invoerparameters, de testtaken en de bouwtaken heeft geconfigureerd, slaat u uw pijplijn op.
Hoe u uw pijplijn kunt inschakelen en uitvoeren
Nadat u uw pijplijn met fasen en taken heeft geconfigureerd, kunt u de pijplijn opslaan en inschakelen.
Wacht vervolgens totdat de pijplijn is uitgevoerd en voltooid en controleer of deze is geslaagd. Als de pijplijn is mislukt, corrigeert u eventuele fouten en voert u deze opnieuw uit.
Nadat de pijplijn is geslaagd, zijn er een aantal dingen die u mogelijk wilt bevestigen:
- Controleer de uitvoering van de pijplijn en bekijk de resultaten van de taakstappen.
- Zoek in de werkruimte van de pijplijnuitvoering naar de details over uw container en de gekloonde Git-opslagplaats.
- Bekijk in de werkruimte de resultaten van uw naverwerkingstools en controleer op fouten, codedekking, bugs en stijlproblemen.
- Controleer of uw artefact behouden blijft. Controleer ook of de afbeelding is geëxporteerd met de naam en de waarde van de IMAGE.
- Ga naar uw Docker-opslagplaats en controleer of de pijplijn uw container heeft gepubliceerd.
Voor een gedetailleerd voorbeeld waarin wordt weergegeven hoe de code door Code Stream continu wordt geïntegreerd, raadpleegt u Hoe kan ik code vanuit mijn GitHub- of GitLab-opslagplaats continu integreren in mijn pijplijn in Code Stream?.