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 vRealize Automation Code Stream het type taak voor u.

Voordat u een taak in uw pijplijn gebruikt, moet u controleren of het bijbehorende eindpunt beschikbaar is.

Tabel 1. Een goedkeuring verkrijgen of een beslissingspunt instellen
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 vRealize Automation 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.

Zie Hoe gebruik ik variabelebindingen in een voorwaardetaak om een pijplijn uit te voeren of te stoppen in vRealize Automation Code Stream?.

Tabel 2. Continue integratie en implementatie automatiseren
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 vRealize Automation 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:

  • Geheel getal
  • Opsommingstekenreeks
  • Booleaans
  • Array-variabele

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 vRealize Automation Cloud Assembly invoervariabelen bevat. Als een cloudsjabloon bijvoorbeeld een invoertype van Integer heeft, kunt u het gehele getal rechtstreeks of als een variabele invoeren met behulp van een variabelebinding.

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.

Zie Een systeemeigen CICD-build plannen in vRealize Automation Code Stream voordat u de slimme pijplijnsjabloon gebruikt.

Custom

De aangepaste taak integreert vRealize Automation 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 vRealize Automation Code Stream?.

Kubernetes

Automatiseer de implementatie van uw softwareapplicaties naar Kubernetes-clusters op AWS.

Zie Hoe kan ik de release van een applicatie in vRealize Automation 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.

Tabel 3. Ontwikkelings-, test- en implementatieapplicaties integreren
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.

Zie Hoe integreer ik vRealize Automation Code Stream met Jenkins?.

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.

vRealize Automation Code Stream ondersteunt Team Foundation Server 2013 en 2015.

vRO

Breidt de mogelijkheid van vRealize Automation Code Stream uit door vooraf gedefinieerde of custom werkstromen in vRealize Orchestrator uit te voeren.

Zie Hoe integreer ik vRealize Automation Code Stream met vRealize Orchestrator?.

Tabel 4. Andere applicaties integreren met behulp van een API
Taaktype… Wat het doet… Voorbeelden en details…
REST

Integreert vRealize Automation 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 vRealize Automation 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 vRealize Automation 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 vRealize Automation Code Stream te integreren met andere applicaties?.

Tabel 5. Externe en door de gebruiker gedefinieerde scripts uitvoeren
Type taak Wat het doet Voorbeelden en details
PowerShell

Met de PowerShell-taak kan vRealize Automation 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 vRealize Automation 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 vRealize Automation Code Stream PowerShell-taak is afhankelijk van de base64-gecodeerde lengte van de oorspronkelijke opdracht. De opdrachtlengte wordt als volgt berekend.

3 * (length of original command / 4)) - (numberOfPaddingCharacters) + 77 (Length of Write-output command)

De opdrachtlengte voor vRealize Automation Code Stream moet korter zijn dan de maximale limiet van 8192.

Wanneer u MaxShellsPerUser en MaxMemoryPerShellMB configureert:

  • De acceptabele waarde voor MaxShellsPerUser is 500 voor 50 gelijktijdige pijplijnen, met 5 PowerShell-taken voor elke pijplijn. Als u de waarde wilt instellen, voert u: winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}' uit.
  • De acceptabele geheugenwaarde voor MaxMemoryPerShellMB is 2048. Als u de waarde wilt instellen, voert u: winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}' uit.

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.

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.