Om taken voor continue integratie en aangepaste taken uit te voeren, moet u een werkplek voor uw Automation Pipelines-pijplijn configureren.

Selecteer in de pijplijnwerkplek Docker of Kubernetes als Type en geef het betreffende eindpunt op. De Docker- en Kubernetes-platforms beheren de gehele levenscyclus van de container die Automation Pipelines implementeert voor het uitvoeren van de taak voor continue integratie (CI) of de aangepaste taak.

  • Voor de Docker-werkplek zijn het Docker-hosteindpunt, de image-URL van de opbouwfunctie, het imageregister, de werkdirectory, de cache, omgevingsvariabelen, de CPU-limiet en de geheugenlimiet vereist. U kunt ook een kloon van de Git-opslagplaats maken.
  • Voor de Kubernetes-werkplek zijn het Kubernetes API-eindpunt, de image-URL van de opbouwfunctie, het imageregister, de naamruimte, de NodePort, de permanente volumeclaim (PVC), de werkdirectory, de omgevingsvariabelen, de CPU-limiet en de geheugenlimiet vereist. U kunt ook een kloon van de Git-opslagplaats maken.

De configuratie van de pijplijnwerkplek heeft veel algemene parameters en andere parameters die specifiek zijn voor het type werkplek, zoals in de volgende tabel wordt beschreven.

Tabel 1. Werkplekgebieden, gegevens en beschikbaarheid
Selectie Beschrijving Gegevens en beschikbaarheid
Type Type werkplek Beschikbaar met Docker of Kubernetes.
Hosteindpunt Hosteindpunten waar de taken voor continue integratie (CI) en aangepaste taken worden uitgevoerd.

Beschikbaar in de Docker-werkplek wanneer u het Docker-hosteindpunt selecteert.

Beschikbaar met de Kubernetes-werkplek wanneer u het Kubernetes API-eindpunt selecteert.

Image-URL van opbouwfunctie Naam en locatie van de image van de opbouwfunctie. Er wordt een container gemaakt met behulp van deze image op de Docker-host en het Kubernetes-cluster. De taken voor continue integratie (CI) en aangepaste taken worden binnen deze container uitgevoerd.

Voorbeeld: fedora:latest

De image van de opbouwfunctie moet curl of wget bevatten.

Imageregister Als de image van de opbouwfunctie beschikbaar is in een register en als het register verificatiegegevens vereist, moet u een imageregistereindpunt maken, en het vervolgens hier selecteren zodat de image uit het register kan worden opgehaald. Beschikbaar met de Docker- en Kubernetes-werkplekken.
Werkdirectory De werkdirectory is de locatie in de container waar de stappen van de taak voor continue integratie (CI) worden uitgevoerd en tevens de locatie waar de code wordt gekloond wanneer een Git-webhook een pijplijnuitvoering activeert. Beschikbaar met Docker of Kubernetes.
Naamruimte Als u geen naamruimte invoert, maakt Automation Pipelines een unieke naam in het Kubernetes-cluster dat u heeft opgegeven. Specifiek voor de Kubernetes-werkplek.
Proxy

Om te communiceren met de werkplekpod in het Kubernetes-cluster implementeert Automation Pipelines één proxyinstantie in de naamruimte codestream-proxy voor elk Kubernetes-cluster. U kunt het type NodePort of LoadBalancer selecteren op basis van de clusterconfiguratie.

Welke optie u selecteert, is afhankelijk van de aard van het geïmplementeerde Kubernetes-cluster.

  • Selecteer NodePort als de URL van de Kubernetes API-server die wordt opgegeven op het eindpunt, via een van de primaire knooppunten beschikbaar wordt gesteld.
  • Als de URL van de Kubernetes API-server beschikbaar wordt gesteld door een load balancer, zoals met Amazon EKS (Elastic Kubernetes Service), selecteert u LoadBalancer.
NodePort

Automation Pipelines gebruikt NodePort om te communiceren met de container die binnen het Kubernetes-cluster wordt uitgevoerd.

Als u geen poort selecteert, gebruikt Automation Pipelines een kortstondige poort die Kubernetes toewijst. U moet ervoor zorgen dat de configuratie van de firewallregels inkomend verkeer naar het kortstondige poortbereik (30000-32767) toestaat.

Als u een poort invoert, moet u ervoor zorgen dat een andere service in het cluster deze nog niet gebruikt en dat de poort is toegestaan in de firewallregels.

Specifiek voor de Kubernetes-werkplek.
Permanente volumeclaim

Biedt een manier voor de Kubernetes-werkplek om bestanden in pijplijnuitvoeringen te behouden. Wanneer u een naam voor een permanente volumeclaim opgeeft, kan deze de logboeken, artefacten en cache opslaan.

Raadpleeg de Kubernetes-documentatie op https://kubernetes.io/docs/concepts/storage/persistent-volumes/ voor meer informatie over het maken van een permanente volumeclaim.

Specifiek voor de Kubernetes-werkplek.
Omgevingsvariabelen Sleutelwaardeparen die hier worden doorgegeven, zijn beschikbaar voor alle taken voor continue integratie (CI) en aangepaste taken in een pijplijn wanneer deze wordt uitgevoerd.

Beschikbaar met Docker of Kubernetes.

Verwijzingen naar variabelen kunnen hier worden doorgegeven.

Omgevingsvariabelen die worden opgegeven in de werkplek, worden doorgegeven aan alle taken voor continue integratie (CI) en aangepaste taken in de pijplijn.

Als omgevingsvariabelen hier niet worden doorgegeven, moeten deze variabelen expliciet worden doorgegeven aan elke taak voor continue integratie (CI) en elke aangepaste taak in de pijplijn.

CPU-limieten Limieten voor CPU-resources voor de container voor continue integratie (CI) of container voor een aangepaste taak. De standaardwaarde is 1.
Geheugenlimieten Limieten voor geheugen voor de container voor continue integratie (CI) of container voor een aangepaste taak. De eenheid is MB.
Git-kloon Wanneer u Git-kloon selecteert en een Git-webhook de pijplijn aanroept, wordt de code naar de werkplek (container) gekloond. Als u Git-kloon niet inschakelt, moet u een andere expliciete taak voor continue integratie (CI) in de pijplijn configureren om eerst de code te klonen en vervolgens andere stappen uitvoeren zoals bouwen en testen.
Cache

Met de Automation Pipelines-werkplek kunt u een set directory's of bestanden in de cache opslaan om de volgende pijplijnuitvoeringen te versnellen. Voorbeelden van deze directory's zijn .m2 en npm_modules. Als u het in de cache opslaan van gegevens tussen pijplijnuitvoeringen niet vereist, is een persistente volumeclaim niet nodig.

Artefacten zoals bestanden of directory's in de container worden in de cache opgeslagen, zodat ze opnieuw kunnen worden gebruikt tijdens pijplijnuitvoeringen. Bijvoorbeeld, node_modules- of .m2-mappen kunnen in de cache worden opgeslagen. Cache accepteert een lijst met paden.

Bijvoorbeeld:

workspace:
  type: K8S
  endpoint: K8S-Micro
  image: fedora:latest
  registry: Docker Registry
  path: ''
  cache:
    - /path/to/m2
    - /path/to/node_modules

Specifiek voor het type werkplek.

In de Docker-werkplek bereikt u de Cache door een gedeeld pad in de Docker-host te gebruiken om de in de cache opgeslagen gegevens, artefacten en logboeken te behouden.

In de Kubernetes-werkplek moet u een permanente volumeclaim opgeven om het gebruik van Cache in te schakelen. Anders is Cache niet beschikbaar.

Wanneer u een Kubernetes API-eindpunt in de pijplijnwerkplek gebruikt, maakt Automation Pipelines de nodige Kubernetes-resources zoals ConfigMap, Geheim en Pod om de taak voor continue integratie (CI) of de aangepaste taak uit te voeren. Automation Pipelines communiceert met de container via de NodePort.

Als u gegevens wilt delen tussen pijplijnuitvoeringen, moet u een permanente volumeclaim opgeven, en Automation Pipelines koppelt de permanente volumeclaim aan de container om de gegevens op te slaan en deze te gebruiken voor volgende pijplijnuitvoeringen.