Wanneer u uw pijplijn configureert, voegt u specifieke typen taken toe die de pijplijn uitvoert voor de acties die u nodig hebt. Elk taaktype integreert met een andere applicatie en schakelt uw pijplijn in terwijl deze uw applicaties bouwt, test en levert.
Om uw pijplijn uit te voeren, ongeacht of u artefacten uit een opslagplaats moet halen voor implementatie, een extern script moet uitvoeren of goedkeuring moet vereisen voor een gebruikersbewerking van een teamlid, heeft Code Stream het type taak voor u.
Code Stream ondersteunt het annuleren van een pijplijnuitvoering voor verschillende taaktypen. Wanneer u op Annuleren klikt bij de uitvoering van een pijplijn, krijgt de taak, fase of volledige pijplijn de annuleringsstatus en wordt de pijplijnuitvoering geannuleerd.
- Jenkins
- SSH
- PowerShell
- Gebruikersbewerking
- Pijplijn
- Cloudsjabloon
- vRO
- POLL
Code Stream geeft het annuleringsgedrag niet door aan systemen van derden voor deze taken: continue integratie, aangepaste integratie of Kubernetes. Code Stream markeert de taak als geannuleerd en stopt onmiddellijk met het ophalen van de status zonder te wachten totdat de taak is voltooid. De taak kan worden voltooid of mislukken op het systeem van derden, maar de uitvoering wordt onmiddellijk gestopt in Code Stream wanneer u op Annuleren klikt.
Voordat u een taak in uw pijplijn gebruikt, moet u controleren of het bijbehorende eindpunt beschikbaar is.
Type taak | Wat het doet | Voorbeelden en details |
---|---|---|
Gebruikersbewerking | Een taak Gebruikersbewerking schakelt een vereiste goedkeuring in die bepaalt wanneer een pijplijn wordt uitgevoerd en moet stoppen voor een goedkeuring. |
Zie Hoe kan ik een pijplijn uitvoeren en de resultaten bekijken?. en Hoe beheer ik gebruikerstoegang en goedkeuringen in Code Stream?. |
Voorwaarde | Voegt een beslissingspunt toe, dat bepaalt of de pijplijn nog steeds wordt uitgevoerd of stopt, op basis van voorwaarde-expressies. Wanneer de voorwaarde waar is, voert de pijplijn opeenvolgende taken uit. Indien deze onwaar is, stopt de pijplijn. |
Type taak | Wat het doet | Voorbeelden en details |
---|---|---|
Cloudsjabloon | Implementeert een automatiseringscloudsjabloon van GitHub, richt een applicatie in en automatiseert de continue integratie en continue levering (CICD) van die cloudsjabloon voor uw implementatie. |
Zie Hoe kan ik de release van een applicatie die ik implementeer vanuit een YAML-cloudsjabloon in Code Stream automatiseren?. De parameters van de cloudsjabloon worden weergegeven nadat u eerst Maken of Bijwerken hebt geselecteerd en vervolgens Cloudsjabloon en Versie hebt geselecteerd. U kunt deze elementen, die variabelebindingen bevatten, toevoegen aan de invoertekstgebieden in de cloudsjabloontaak:
Wanneer u een variabelebinding gebruikt in de invoer, moet u rekening houden met deze uitzonderingen. Voor opsommingen moet u een opsommingswaarde uit een vaste reeks selecteren. Voor Boole-waarden moet u de waarde invoeren in het tekstgebied voor invoer. De cloudsjabloonparameter wordt weergegeven in de cloudsjabloontaak wanneer een cloudsjabloon in Cloud Assembly invoervariabelen bevat. Als een cloudsjabloon bijvoorbeeld een invoertype van |
CI | De CI-taak zorgt voor een voortdurende integratie van uw code in uw pijplijn door een Docker-buildimage uit een registereindpunt te halen en deze te implementeren in een Kubernetes-cluster. De CI-taak geeft 100 regels van het logboek weer als uitvoer en geeft 500 regels weer wanneer u de logboeken downloadt. Voor de CI-taken zijn kortstondige poorten 32768 tot 61000 vereist. |
Zie Een systeemeigen CICD-build plannen in Code Stream voordat u de slimme pijplijnsjabloon gebruikt. |
Custom | De aangepaste taak integreert Code Stream met uw eigen tools voor het bouwen, testen en implementeren. |
Zie Hoe kan ik mijn eigen tools voor bouwen, testen en implementeren integreren met Code Stream?. |
Kubernetes | Automatiseer de implementatie van uw softwareapplicaties naar Kubernetes-clusters. |
Zie Hoe kan ik de release van een applicatie in Code Stream op een Kubernetes-cluster automatiseren?. |
Pijplijn | Nest een pijplijn in een hoofdpijplijn. Wanneer een pijplijn is genest, gedraagt deze zich als een taak in de hoofdpijplijn. Op het tabblad Taak van de hoofdpijplijn kunt u eenvoudig naar de geneste pijplijn gaan door op de link ernaar te klikken. De geneste pijplijn wordt geopend in een nieuw tabblad van de browser. |
Als u geneste pijplijnen wilt vinden in Uitvoeringen, voert u genest in het zoekveld in. |
Taaktype… | Wat het doet… | Voorbeelden en details… |
---|---|---|
Bamboo | Communiceert met een Bamboo-server voor continue integratie (CI), waarmee voortdurend software wordt gebouwd, getest en geïntegreerd in de voorbereiding op implementatie, en codebuilds worden geactiveerd wanneer ontwikkelaars wijzigingen doorvoeren. Het geeft de artefactlocaties weer die de Bamboo-build produceert, zodat de taak de parameters als output kan geven die andere taken moeten gebruiken voor de bouw en implementatie. |
Maak verbinding met een Bamboo-server-eindpunt en start een Bamboo-bouwplan vanuit uw pijplijn. |
Jenkins | Activeert Jenkins-taken die uw broncode bouwen en testen, testcases uitvoeren en custom scripts kunnen gebruiken. |
|
TFS | Stelt u in staat om uw pijplijn te verbinden met de Team Foundation Server om bouwprojecten te beheren en aan te roepen, inclusief geconfigureerde taken voor het bouwen en testen van uw code. |
Zie Wat zijn eindpunten in Code Stream? voor versies van Team Foundation Server die worden ondersteund door Code Stream. |
vRO | Breidt de mogelijkheid van Code Stream uit door vooraf gedefinieerde of custom werkstromen in vRealize Orchestrator uit te voeren. Code Stream ondersteunt basisverificatie en verificatie op basis van tokens voor vRealize Orchestrator. Code Stream gebruikt het API-token om het vRealize Orchestrator-cluster te verifiëren en te valideren. Met verificatie op basis van tokens ondersteunt Code Stream vRealize Orchestrator-eindpunten die een clouduitbreidbaarheidsproxy gebruiken. Als gevolg hiervan kunt u in Code Stream werkstromen activeren met een vRealize Orchestrator-eindpunt dat de clouduitbreidbaarheidsproxy gebruikt. |
Zie Hoe integreer ik Code Stream met vRealize Orchestrator?. |
Taaktype… | Wat het doet… | Voorbeelden en details… |
---|---|---|
REST | Integreert Code Stream met andere applicaties die gebruikmaken van een REST API, zodat u voortdurend softwareapplicaties kunt ontwikkelen en leveren die met elkaar communiceren. |
Zie Hoe gebruik ik een REST API om Code Stream te integreren met andere applicaties?. |
Poll | Roept een REST API aan en pollt deze totdat de pijplijntaak voldoet aan de afsluitcriteria en wordt voltooid. Een Code Stream-beheerder kan het aantal polls instellen op een maximum van 10.000. Het pollinginterval moet 60 seconden of meer zijn. Wanneer u het selectievakje Doorgaan bij mislukt inschakelt, gaat de uitvoering van de polling door bij een overschrijding van dit aantal of interval.
|
Zie Hoe gebruik ik een REST API om Code Stream te integreren met andere applicaties?. |
Type taak | Wat het doet | Voorbeelden en details |
---|---|---|
PowerShell | Met de PowerShell-taak kan Code Stream scriptopdrachten uitvoeren op een externe host. Een script kan bijvoorbeeld testtaken automatiseren en beheertypen van commando’s uitvoeren. Het script kan extern zijn of door de gebruiker worden gedefinieerd. Het kan verbinding maken via HTTP of HTTPS en kan TLS gebruiken. Voor de Windows-host moet de service winrm zijn geconfigureerd en voor winrm moeten MaxShellsPerUser en MaxMemoryPerShellMB zijn geconfigureerd. Om een PowerShell-taak uit te voeren, moet u een actieve sessie voor de externe Windows-host hebben. Lengte van PowerShell-opdrachtregel Als u een base64 PowerShell-opdracht invoert, moet u er rekening mee houden dat u de totale opdrachtlengte moet berekenen. De Code Stream-pijplijn codeert en verpakt een base64 PowerShell-opdracht in een andere opdracht, waardoor de algemene lengte van de opdracht toeneemt. De maximale lengte die voor de PowerShell-opdracht winrm is toegestaan, is 8192 bytes. De opdrachtlengtelimiet is lager voor de PowerShell-taak wanneer deze is gecodeerd en verpakt. Als gevolg hiervan moet u de opdrachtlengte berekenen voordat u de PowerShell-opdracht invoert. De maximale opdrachtlengte voor de Code Stream PowerShell-taak is afhankelijk van de base64-gecodeerde lengte van de oorspronkelijke opdracht. De opdrachtlengte wordt als volgt berekend.
De opdrachtlengte voor Code Stream moet korter zijn dan de maximale limiet van 8192. |
Wanneer u MaxShellsPerUser en MaxMemoryPerShellMB configureert:
Het script schrijft de output naar een responsbestand dat door een andere pijplijn kan worden geconsumeerd. |
Secure Shell | Met de SSH-taak kan de Bash-shellscripttaak scriptopdrachten uitvoeren op een externe host. Een script kan bijvoorbeeld testtaken automatiseren en beheertypen van commando’s uitvoeren. Het script kan extern zijn of door de gebruiker worden gedefinieerd. Het kan verbinding maken via HTTP of HTTPS en vereist een persoonlijke sleutel of wachtwoord. De Secure Shell-service moet worden geconfigureerd op de Linux-host en de SSHD-configuratie van MaxSessions moet worden ingesteld op 50. Als u veel SSH-taken gelijktijdig uitvoert, verhoogt u
De SSH-taak ondersteunt geen persoonlijke sleutels van het OpenSSH-type. Genereer het publieke/persoonlijke sleutelpaar met een van de volgende methoden:
Opmerking: Controleer of de gegenereerde sleutel niet wordt weergegeven met
BEGIN OPENSSH PRIVATE KEY.
Als de gegenereerde publieke sleutel een geautoriseerde sleutel is in de externe machine, raadpleegt u een van de volgende artikelen om de persoonlijke indeling voor OpenSSH te wijzigen:
Wanneer u de SSH-taak configureert, moet u de persoonlijke sleutel invoeren als tekst zonder opmaak. Als u de sleutel als variabele of invoer opslaat, wordt de sleutelindeling gewijzigd en kan de pijplijntaak niet worden uitgevoerd. |
Het script kan extern zijn of door de gebruiker worden gedefinieerd. Een script kan er bijvoorbeeld zo uitzien: message="Hello World" echo $message Het script schrijft de output naar een responsbestand dat door een andere pijplijn kan worden geconsumeerd. |