Lorsque vous configurez votre pipeline, vous ajoutez des types de tâches spécifiques que le pipeline exécute pour les actions dont vous avez besoin. Chaque type de tâche s'intègre à une autre application et active votre pipeline au cours de la construction, des tests et de la livraison de vos applications.

Pour exécuter votre pipeline, que vous deviez extraire des artefacts d'un référentiel pour le déploiement, exécuter un script distant ou demander l'approbation d'une opération utilisateur à un membre de l'équipe, VMware Code Stream a le type de tâche qu'il vous faut !

Avant d'utiliser une tâche dans votre pipeline, vérifiez que le point de terminaison correspondant est disponible.

Tableau 1. Obtenir une approbation ou définir un point de décision
Type de tâche Fonctionnement Exemples et détails
Opération de l'utilisateur

Active une tâche d'opération d'utilisateur qui contrôle le moment où un pipeline s'exécute et doit s'arrêter pour approbation.

Reportez-vous à la section Comment exécuter un pipeline et afficher les résultats. et Gestion de l'accès et des approbations utilisateur dans Code Stream.

Condition

Ajoute un point de décision qui détermine si le pipeline continue à s'exécuter, ou s'arrête, en fonction des expressions de condition. Lorsque la condition est true, le pipeline exécute des tâches successives. Lorsqu'elle est false, le pipeline s'arrête.

Reportez-vous à la section Utilisation des liaisons de variables dans une tâche de condition pour l'exécution ou l'arrêt d'un pipeline dans VMware Code Stream.

Tableau 2. Automatiser l'intégration et le déploiement continus
Type de tâche Fonctionnement Exemples et détails
Modèle de cloud

Déploie un modèle de cloud d'automatisation à partir de GitHub et provisionne une application, puis automatise l'intégration continue et la livraison continue (CICD) de ce modèle de cloud pour votre déploiement.

Reportez-vous à la section Automatisation de la publication d'une application déployée à partir d'un modèle de cloud YAML dans Code Stream.
CI

La tâche CI permet l'intégration continue de votre code dans votre pipeline en extrayant une image de build Docker à partir d'un point de terminaison de registre et en la déployant sur un cluster Kubernetes.

Reportez-vous à la section Planification d'une build native CICD dans Code Stream avant d'utiliser le modèle de pipeline intelligent.

Personnalisé

La tâche personnalisée intègre VMware Code Stream à vos propres outils de générations, de tests et de déploiement.

Reportez-vous à la section Intégration d'outils de génération, de test et de déploiement propres avec Code Stream.

Kubernetes

Automatisez le déploiement de vos applications logicielles sur des clusters Kubernetes sur AWS.

Reportez-vous à la section Automatisation de la publication d'une application dans Code Stream sur un cluster Kubernetes.

Pipeline

Imbrique un pipeline dans un pipeline principal. Lorsqu'un pipeline est imbriqué, il se comporte comme une tâche dans le pipeline principal.

Dans l'onglet Tâche du pipeline principal, vous pouvez facilement accéder au pipeline imbriqué en cliquant sur le lien y donnant accès. Le pipeline imbriqué s'ouvre dans un nouvel onglet du navigateur.

Pour rechercher des pipelines imbriqués dans Exécutions, entrez imbriqué dans la zone de recherche.

Tableau 3. Intégrer des applications de développement, de test et de déploiement
Type de tâche Effets Exemples et détails
Bamboo

Interagit avec un serveur d'intégration continue (CI) Bamboo, qui génère, teste et intègre en permanence des logiciels en préparation du déploiement, et déclenche des builds de code lorsque les développeurs valident les modifications. Il expose les emplacements d'artefact que la build Bamboo produit afin que la tâche puisse générer les paramètres que d'autres tâches utiliseront pour la génération et le déploiement.

Connectez-vous à un point de terminaison de serveur Bamboo et démarrez un plan de build Bamboo à partir de votre pipeline.

Jenkins

Déclenche des tâches Jenkins qui génèrent et testent votre code source, exécute des cas de test et peut utiliser des scripts personnalisés.

Reportez-vous à la section Intégration de Code Stream à Jenkins.

TFS

Vous permet de connecter votre pipeline à Team Foundation Server pour gérer et appeler des projets de build, y compris des tâches configurées qui génèrent et testent votre code.

VMware Code Stream prend en charge Team Foundation Server 2013 et 2015.

vRO

Étend la capacité de VMware Code Stream en exécutant des workflows prédéfinis ou personnalisés dans vRealize Orchestrator.

Reportez-vous à la section Intégration de Code Stream à vRealize Orchestrator.

Tableau 4. Intégrer d'autres applications via une API
Type de tâche Effets Exemples et détails
REST

Intègre VMware Code Stream à d'autres applications qui utilisent une REST API afin de pouvoir développer et fournir en continu des applications logicielles qui interagissent entre elles.

Reportez-vous à la section Utilisation d'une REST API pour intégrer VMware Code Stream à d'autres applications.

Interrogation

Appelle une REST API et l'interroge jusqu'à ce que la tâche de pipeline réponde aux critères de sortie et se termine.

Un administrateur Code Stream peut définir le nombre d'interrogations sur un maximum de 10 000. L'intervalle d'interrogation doit être supérieur ou égal à 60 secondes.

Lorsque vous cochez la case Continuer en cas d'échec, si le nombre ou l'intervalle dépasse ces valeurs, la tâche d'interrogation continue à s'exécuter.

Reportez-vous à la section Utilisation d'une REST API pour intégrer VMware Code Stream à d'autres applications.

Tableau 5. Exécuter des scripts distants et définis par l'utilisateur
Type de tâche Fonctionnement Exemples et détails
PowerShell

Avec la tâche PowerShell, Code Stream peut exécuter des commandes de script sur un hôte distant. Par exemple, un script peut automatiser des tâches de test et exécuter des types administratifs de commandes.

Le script peut être distant ou défini par l'utilisateur. Il peut se connecter via HTTP ou HTTPS, et peut utiliser TLS.

L'hôte Windows doit disposer du service winrm configuré, et winrm doit disposer de MaxShellsPerUser et MaxMemoryPerShellMB configurés.

Pour exécuter une tâche PowerShell, vous devez disposer d'une session active sur l'hôte Windows distant.

Longueur de la ligne de commande PowerShell

Si vous entrez une commande PowerShell en base 64, sachez que vous devez calculer la longueur de la commande globale.

Le pipeline Code Stream encode et encapsule une commande PowerShell en base 64 dans une autre commande, ce qui augmente la longueur globale de la commande.

La longueur maximale autorisée pour une commande PowerShell winrm est de 8 192 octets. La limite de longueur de la commande est inférieure pour la tâche PowerShell lorsqu'elle est codée et encapsulée. Vous devez donc calculer la longueur de la commande avant d'entrer la commande PowerShell.

La limite de longueur de la commande pour la tâche PowerShell Code Stream dépend de la longueur codée en base 64 de la commande d'origine. La longueur de la commande est calculée de la manière suivante.

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

La longueur de la commande pour Code Stream doit être inférieure à la limite maximale de 8 192.

Lorsque vous configurez MaxShellsPerUser et MaxMemoryPerShellMB :

  • La valeur acceptable pour MaxShellsPerUser est de 500 pour 50 pipelines simultanés, avec 5 tâches PowerShell par pipeline. Pour définir la valeur, exécutez : winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}'
  • La valeur de mémoire acceptable pour MaxMemoryPerShellMB est de 2 048. Pour définir la valeur, exécutez : winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}'

Le script écrit la sortie dans un fichier de réponse qu'un autre pipeline peut utiliser.

SSH

La tâche SSH permet à la tâche de script shell Bash d'exécuter des commandes de script sur un hôte distant. Par exemple, un script peut automatiser des tâches de test et exécuter des types administratifs de commandes.

Le script peut être distant ou défini par l'utilisateur. Il peut se connecter via HTTP ou HTTPS, et nécessite une clé privée ou un mot de passe.

Le service SSH doit être configuré sur l'hôte Linux et la configuration SSHD de MaxSessions doit être définie sur 50.

Le script peut être distant ou défini par l'utilisateur. Par exemple, un script peut ressembler à ce qui suit :

message="Hello World" echo $message

Le script écrit la sortie dans un fichier de réponse qu'un autre pipeline peut utiliser.