Als ontwikkelaar wilt u uw code voortdurend integreren vanuit een GitHub- of GitLab Enterprise-opslagplaats. Wanneer uw ontwikkelaars hun code bijwerken en wijzigingen in de opslagplaats doorvoeren, kan Code Stream luisteren naar die wijzigingen en de pijplijn activeren.
Als u wilt dat Code Stream uw pijplijn bij codewijzigingen activeert, gebruikt u de Git-trigger. Code Stream activeert vervolgens uw pijplijn elke keer dat u wijzigingen in uw code doorvoert.
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.
In het volgende stroomdiagram ziet u de werkstroom die u kunt kiezen als u een slimme pijplijnsjabloon gebruikt om uw pijplijn te maken of de pijplijn handmatig bouwt.
In het volgende voorbeeld wordt een Docker-werkplek gebruikt.
Om uw code te bouwen, gebruikt u een Docker-host. U gebruikt JUnit en JaCoCo als tools voor het testframework, die eenheidstests en codedekking uitvoeren, en u neemt deze in uw pijplijn op.
Vervolgens kunt u de slimme pijplijnsjabloon voor continue integratie gebruiken om een pijplijn voor continue integratie te maken die uw code bouwt, test en implementeert in het Kubernetes-cluster van uw projectteam op AWS. Als u de code-afhankelijkheidsartefacten wilt opslaan voor uw taak voor continue integratie, die tijd kan besparen bij het bouwen van code, kunt u een cache gebruiken.
In de pijplijntaak die uw code bouwt en test, kunt u verschillende stappen voor continue integratie opnemen. Deze stappen kunnen worden opgeslagen in dezelfde werkdirectory waar Code Stream de broncode kloont wanneer de pijplijn wordt geactiveerd.
Om uw code op het Kubernetes-cluster te implementeren, kunt u een Kubernetes-taak in uw pijplijn gebruiken. U moet vervolgens uw pijplijn inschakelen en uitvoeren. Vervolgens wijzigt u de code in de opslagplaats en bekijkt u de activering van de pijplijn. Om de trends in uw pijplijn te bewaken en te rapporteren nadat deze is uitgevoerd, gebruikt u de dashboards.
In het volgende voorbeeld gebruikt u de slimme pijplijnsjabloon voor continue integratie om een pijplijn voor continue integratie te maken die uw code continu integreert in uw pijplijn. In dit voorbeeld wordt een Docker-werkplek gebruikt.
U kunt ook handmatig de pijplijn maken en er fasen en taken aan toevoegen. Zie Een CICD-systeemeigen build plannen in Code Stream voordat u handmatig taken toevoegt voor meer informatie over het plannen van een continue integratie-build en het handmatig maken van de pijplijn.
Voorwaarden
- Plan voor uw build met continue integratie. Zie Een native build voor continue integratie plannen in Code Stream voordat u de slimme pijplijnsjabloon gebruikt.
- Verifieer dat er een opslagplaats voor GitLab-broncode bestaat. Neem contact op met uw Code Stream-beheerder voor hulp.
- Voeg een Git-eindpunt toe. Zie Hoe gebruik ik de Git-trigger in Code Stream om een pijplijn uit te voeren? voor een voorbeeld.
- Als u wilt dat Code Stream naar wijzigingen in uw GitHub-opslagplaats of GitLab-opslagplaats luistert en een pijplijn activeert wanneer er wijzigingen optreden, voegt u een webhook toe. Zie Hoe gebruik ik de Git-trigger in Code Stream om een pijplijn uit te voeren? voor een voorbeeld.
- Voeg een Docker-hosteindpunt toe, waardoor een container voor de taak voor continue integratie wordt gemaakt, die door meerdere taken voor continue integratie kan worden gebruikt. Zie Wat zijn eindpunten in Code Stream?.voor meer informatie over eindpunten.
- Verkrijg de image-URL, de buildhost en de URL voor de buildimage. Neem contact op met uw Code Stream-beheerder voor hulp.
- Verifieer dat u JUnit en JaCoCo gebruikt voor de tools van uw testframework.
- Stel een externe instantie in voor uw CI-build: Jenkins, TFS of Bamboo. De Kubernetes-invoegtoepassing implementeert uw code. Neem contact op met uw Code Stream-beheerder voor hulp.
Procedure
resultaten
Gefeliciteerd! U hebt een pijplijn gemaakt die uw code van een GitHub- of GitLab-opslagplaats continu integreert in uw pijplijn en uw buildimage implementeert.
Volgende stappen
Zie Meer resources voor Code Stream-beheerders en -ontwikkelaars voor meer informatie.