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, Automation Pipelines a le type de tâche qu'il vous faut !
Automation Pipelines prend en charge l'annulation d'une exécution de pipeline sur divers types de tâches. Lorsque vous cliquez sur Annuler sur l'exécution d'un pipeline, la tâche, l'étape ou l'intégralité du pipeline passe à l'état d'annulation et annule l'exécution du pipeline.
- Jenkins
- SSH
- PowerShell
- Opération de l'utilisateur
- Pipeline
- Modèle de cloud
- vRO
- POLL
Automation Pipelines ne propage pas le comportement d'annulation aux systèmes tiers pour ces tâches : CI, Intégration personnalisée ou Kubernetes. Automation Pipelines marque la tâche comme annulée et cesse immédiatement d'extraire l'état sans attendre la fin de la tâche. La tâche peut se terminer ou échouer sur le système tiers, mais cesse immédiatement de s'exécuter dans Automation Pipelines lorsque vous cliquez sur Annuler.
Avant d'utiliser une tâche dans votre pipeline, vérifiez que le point de terminaison correspondant est disponible.
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 Automation Pipelines. |
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 Automation Pipelines. |
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 Automation Pipelines. |
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. La tâche CI affiche 100 lignes du journal en tant que sortie et affiche 500 lignes lorsque vous téléchargez les journaux. Les tâches CI nécessitent les ports éphémères 32768 à 61000. |
Reportez-vous à la section Planification d'une build native CICD dans Automation Pipelines avant d'utiliser le modèle de pipeline intelligent. |
Personnalisé | La tâche personnalisée intègre Automation Pipelines à 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 Automation Pipelines. |
Kubernetes | Automatiser le déploiement de vos applications logicielles sur des clusters Kubernetes. |
Reportez-vous à la section Automatisation de la publication d'une application dans Automation Pipelines 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. |
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 Automation Pipelines à 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. |
Pour connaître les versions de Team Foundation Server prises en charge par Automation Pipelines, consultez Présentation des points de terminaison dans Automation Pipelines. |
vRO | Étend la capacité de Automation Pipelines en exécutant des workflows prédéfinis ou personnalisés dans VMware Aria Automation Orchestrator. Automation Pipelines prend en charge l'authentification de base et l'authentification basée sur des jetons pour VMware Aria Automation Orchestrator. Automation Pipelines utilise le jeton d'API pour authentifier et valider le cluster VMware Aria Automation Orchestrator. Avec l'authentification par jeton, Automation Pipelines prend en charge les points de terminaison VMware Aria Automation Orchestrator qui utilisent un proxy d'extensibilité de cloud. Par conséquent, dans Automation Pipelines, vous pouvez déclencher des workflows avec un point de terminaison VMware Aria Automation Orchestrator qui utilise le proxy d'extensibilité de cloud. |
Reportez-vous à la section Intégration de Automation Pipelines à VMware Aria Automation Orchestrator. |
Type de tâche | Effets | Exemples et détails |
---|---|---|
REST | Intègre Automation Pipelines à 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 Automation Pipelines à 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 Automation Pipelines 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 Automation Pipelines à d'autres applications. |
Type de tâche | Fonctionnement | Exemples et détails |
---|---|---|
PowerShell | Avec la tâche PowerShell, Automation Pipelines 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 Automation Pipelines 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 Automation Pipelines 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.
La longueur de la commande pour Automation Pipelines doit être inférieure à la limite maximale de 8 192. |
Lorsque vous configurez MaxShellsPerUser et MaxMemoryPerShellMB :
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. Si vous exécutez plusieurs tâches SSH simultanément, augmentez
La tâche SSH ne prend pas en charge les clés privées de type OpenSSH. Générez la paire de clés publique/privée à l’aide de l’une des méthodes suivantes :
Note : Vérifiez que la clé générée ne s'affiche pas avec
BEGIN OPENSSH PRIVATE KEY.
Si la clé publique générée est une clé autorisée dans la machine distante, reportez-vous à l'un des articles suivants pour modifier le format privé OpenSSH :
Lors de la configuration de la tâche SSH, la clé privée doit être entrée en texte brut. L'enregistrement de la clé en tant que variable ou entrée modifie le format de la clé et la tâche de pipeline ne parvient pas à s'exécuter. |
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. |