Om taken voor continue integratie en aangepaste taken uit te voeren, moet u een werkplek voor uw vRealize Automation Code Stream-pijplijn configureren. De werkplek ondersteunt Docker-eindpunten en Kubernetes API-eindpunten. Wanneer u de pijplijnwerkplek configureert, moet u een image van de opbouwfunctie toevoegen.

In de pijplijnwerkplek selecteert u Docker of Kubernetes en voegt u het Docker-hosteindpunt of het Kubernetes API-eindpunt toe. De Docker- en Kubernetes-platforms beheren de gehele levenscyclus van de container die vRealize Automation Code Stream 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 eerst 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 vRealize Automation Code Stream een unieke naam in het Kubernetes-cluster dat u heeft opgegeven. Specifiek voor de Kubernetes-werkruimte.
NodePort

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

Als u geen poort selecteert, gebruikt vRealize Automation Code Stream een kortstondige poort die Kubernetes toewijst. U moet ervoor zorgen dat de firewallregels zijn geconfigureerd om inkomend verkeer naar het kortstondige poortbereik (30000-32767) toe te staan.

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-werkruimte.
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-werkruimte.
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 werkruimte, 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 Git-kloon niet is ingeschakeld, moet u een aanvullende, 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 vRealize Automation Code Stream-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 opslaan van gegevens in de cache niet vereist tussen pijplijnuitvoeringen, hoeft u geen permanente volumeclaim op te geven.

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 wordt Cache bereikt door een gedeeld pad in de Docker-host te gebruiken om de in cache opgeslagen gegevens, artefacten en logboeken te behouden.

In de Kubernetes-werkplek kunt u Cache alleen gebruiken wanneer u een permanente volumeclaim opgeeft. Als u geen permanente volumeclaim opgeeft, is Cache niet ingeschakeld.

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

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