Pour exécuter des tâches d'intégration continue et des tâches personnalisées, vous devez configurer un espace de travail pour votre pipeline Automation Pipelines.
Dans l'espace de travail du pipeline, sélectionnez le Type Docker ou Kubernetes, puis fournissez le point de terminaison respectif. Les plates-formes Docker et Kubernetes gèrent l'intégralité du cycle de vie du conteneur que Automation Pipelines déploie pour exécuter la tâche d'intégration continue (CI) ou la tâche personnalisée.
- L'espace de travail Docker requiert le point de terminaison de l'hôte Docker, l'URL de l'image du générateur, le registre d'image, le répertoire de travail, le cache, les variables d'environnement, la limite de CPU et la limite de mémoire. Vous pouvez également créer un clone du référentiel Git.
- L'espace de travail Kubernetes requiert le point de terminaison de l'API Kubernetes, l'URL de l'image du générateur, le registre d'image, l'espace de noms, le port de nœud, la réclamation de volume persistant (PVC), le répertoire de travail, les variables d'environnement, la limite de CPU et la limite de mémoire. Vous pouvez également créer un clone du référentiel Git.
La configuration de l'espace de travail de pipeline comporte de nombreux paramètres communs et d'autres paramètres spécifiques du type d'espace de travail, comme décrit dans le tableau suivant.
Sélection | Description | Détails et disponibilité |
---|---|---|
Type | Type d'espace de travail. | Disponible avec Docker ou Kubernetes. |
Point de terminaison d'hôte | Point de terminaison d'hôte sur lequel l'intégration continue (CI) et les tâches personnalisées s'exécutent. | Disponible avec l'espace de travail Docker lorsque vous sélectionnez le point de terminaison de l'hôte Docker. Disponible avec l'espace de travail Kubernetes lorsque vous sélectionnez le point de terminaison d'API Kubernetes. |
URL de l'image du générateur | Nom et emplacement de l'image du générateur. Un conteneur est créé à l'aide de cette image sur l'hôte Docker et le cluster Kubernetes. Les tâches d'intégration continue (CI) et les tâches personnalisées s'exécutent à l'intérieur de ce conteneur. | Exemple : fedora:latest L'image de générateur doit inclure curl ou wget. |
Registre d'image | Si l'image du générateur est disponible dans un registre et si le registre nécessite des informations d'identification, vous devez créer un point de terminaison de registre d'image, puis le sélectionner ici afin que l'image puisse être extraite du registre. | Disponible avec les espaces de travail Docker et Kubernetes. |
Répertoire de travail | Le répertoire de travail est l'emplacement à l'intérieur du conteneur où les étapes de la tâche d'intégration continue (CI) s'exécutent, et l'emplacement où le code est cloné lorsqu'un Webhook Git déclenche une exécution de pipeline. | Disponible avec Docker ou Kubernetes. |
Espace de noms | Si vous n'entrez pas d'espace de noms, Automation Pipelines crée un nom unique dans le cluster Kubernetes que vous avez fourni. | Spécifique à l'espace de travail Kubernetes. |
Proxy | Pour communiquer avec l'espace de travail du cluster Kubernetes, Automation Pipelines déploie une instance de proxy unique dans l'espace de noms L'option que vous sélectionnez dépend de la nature du cluster Kubernetes déployé.
|
|
NodePort | Automation Pipelines utilise le port de nœud pour communiquer avec le conteneur s'exécutant à l'intérieur du cluster Kubernetes. Si vous ne sélectionnez pas de port, Automation Pipelines utilise un port éphémère attribué par Kubernetes. Vous devez vous assurer que la configuration des règles de pare-feu autorise l'entrée vers la plage de ports éphémères (30000-32767). Si vous entrez un port, vous devez vous assurer qu'aucun autre service du cluster ne l'utilise déjà et que le port est autorisé dans les règles de pare-feu. |
Spécifique à l'espace de travail Kubernetes. |
Réclamation de volume persistant | Fournit un moyen pour l'espace de travail Kubernetes de conserver les fichiers dans les exécutions de pipeline. Lorsque vous fournissez un nom de réclamation de volume persistant, il peut stocker les journaux, les artefacts et le cache. Pour plus d'informations sur la création d'une réclamation de volume persistant, consultez la documentation Kubernetes à l'adresse https://kubernetes.io/docs/concepts/storage/persistent-volumes/. |
Spécifique à l'espace de travail Kubernetes. |
Variables d'environnement | Les paires clé-valeur qui sont transmises ici seront disponibles pour toutes les tâches d'intégration continue (CI) et les tâches personnalisées d'un pipeline lors de son exécution. | Disponible avec Docker ou Kubernetes. Les références aux variables peuvent être transmises ici. Les variables d'environnement fournies dans l'espace de travail sont transmises à toutes les tâches d'intégration continue (CI) et aux tâches personnalisées dans le pipeline. Si les variables d'environnement ne sont pas transmises ici, elles doivent être explicitement transmises à chaque tâche d'intégration continue (CI) et tâche personnalisée dans le pipeline. |
Limites de CPU | Limites des ressources de CPU pour le conteneur d'intégration continue (CI) ou le conteneur de tâches personnalisées. | La valeur par défaut est 1. |
Limites de mémoire | Limites de mémoire pour le conteneur d'intégration continue (CI) ou le conteneur de tâches personnalisées. | L'unité est Mo. |
Clone Git | Lorsque vous sélectionnez Clone Git et qu'un Webhook Git appelle le pipeline, le code est cloné dans l'espace de travail (conteneur). | Si vous n'activez pas l'option Clone Git, vous devez configurer une autre tâche d'intégration continue (CI) explicite dans le pipeline pour d'abord cloner le code, puis effectuer d'autres étapes, telles que la génération et le test. |
Cache | L'espace de travail Automation Pipelines vous permet de mettre en cache un ensemble de répertoires ou de fichiers pour accélérer les exécutions de pipeline suivantes. Les exemples de ces répertoires incluent .m2 et npm_modules. Si vous n'avez pas besoin de la mise en cache des données entre les exécutions de pipeline. Une réclamation de volume persistant n'est pas nécessaire. Les artefacts, tels que les fichiers ou les répertoires du conteneur, sont mis en cache pour une réutilisation avec les exécutions de pipeline. Par exemple, les dossiers node_modules ou .m2 peuvent être mis en cache. Cache accepte une liste de chemins d'accès. Par exemple : workspace: type: K8S endpoint: K8S-Micro image: fedora:latest registry: Docker Registry path: '' cache: - /path/to/m2 - /path/to/node_modules |
Spécifique du type d'espace de travail. Dans l'espace de travail Docker, le cache est obtenu en utilisant un chemin partagé dans l'hôte Docker pour conserver les données, les artefacts et les journaux mis en cache. Dans l'espace de travail Kubernetes, pour activer l'utilisation de Cache, vous devez fournir une réclamation de volume persistant. Dans le cas contraire, l'option Cache n'est pas disponible. |
Lors de l'utilisation d'un point de terminaison d'API Kubernetes dans l'espace de travail de pipeline, Automation Pipelines crée les ressources Kubernetes nécessaires, telles que ConfigMap, Secret et Pod, pour exécuter la tâche d'intégration continue (CI) ou la tâche personnalisée. Automation Pipelines communique avec le conteneur à l'aide du port de nœud.
Pour partager des données entre des exécutions de pipeline, vous devez fournir une réclamation de volume persistant, et Automation Pipelines montera la réclamation de volume persistant sur le conteneur pour stocker les données et l'utilisera pour les exécutions de pipeline suivantes.
Dans l'espace de travail Kubernetes, lorsque vous utilisez un point de terminaison d'API Kubernetes sur site avec une authentification basée sur un certificat, vous devez vous assurer que le proxy cloud est à jour avec la dernière version. Sinon, l'authentification peut échouer.