Exécuter des travaux dans plusieurs réseaux depuis une interface

Utilisez les runners de projet pour joindre des réseaux distincts, ajouter de la capacité et fournir les outils nécessaires aux travaux. Gardez historique et résultats dans Semaphore.

Un hôte d’exécution unique ne convient pas à tous les travaux

Les travaux nécessitent différents accès réseau, outils et capacités. Les exécuter tous sur le serveur applicatif leur impose les mêmes limites.

Donner à chaque travail l’environnement nécessaire

Choisissez où s’exécute chaque travail, préparez ses outils et ajoutez de la capacité indépendamment du serveur Semaphore.

Joindre les systèmes ciblesPlacer les runners près de votre inventaire
Utiliser les outils nécessaires au travailPréparer son environnement d’exécution
Ajouter de la capacité d’exécutionAdapter les runners à la croissance des charges

Configurer les runners et leur affecter les travaux

Choisir le mode d’exécution de chaque travail

Le runner détermine où le travail s’exécute. Son exécuteur détermine si le travail utilise l’environnement de l’hôte ou démarre dans un conteneur.

Local

Exécutez directement sur l’hôte du runner avec les outils et dépendances installés sur celui-ci.

Docker

Dans Pro, exécutez les travaux dans des conteneurs et choisissez une image d’exécuteur par Task Template.

Kubernetes

Dans Enterprise, exécutez les travaux dans des pods Kubernetes avec l’image et les dépendances nécessaires.

Créer l’environnement d’exécution nécessaire aux travaux

Choisir le runner dans le modèle

Orientez un travail préparé par tag et choisissez son image d’exécuteur.

Modèles de tâches

Maintenir aussi la disponibilité du plan de contrôle

Dimensionnez séparément l’exécution des tâches et la disponibilité applicative.

Haute disponibilité

Adapter l’exécution à votre infrastructure

Placer l’exécution près de l’inventaire

Exécutez l’automatisation dans la région ou le réseau de ses cibles. Un runner peut accéder à un sous-réseau privé, réduire la distance aux systèmes gérés ou donner à une équipe une capacité dédiée. Placement réseau, tags de runner et exécuteur répondent chacun à une partie différente de cette configuration.

Laisser le runner établir la connexion

Un runner se connecte au serveur Semaphore et l’interroge. Le serveur n’a pas besoin d’établir une connexion entrante vers ce runner. C’est utile pour un site derrière un NAT ou dans un sous-réseau privé, à condition que le runner puisse joindre Semaphore ainsi que les cibles et sources nécessaires à ses tâches.

Choisir le périmètre et le routage du travail

Les runners globaux sont disponibles dans plusieurs projets, tandis que les runners de projet appartiennent à un seul projet. Les tags pris en charge relient les exigences des modèles aux capacités ou emplacements des runners. Les réglages de runner par défaut couvrent les tâches sans exigence de tag. Sans runner approprié, une tâche peut rester en attente plutôt que s’exécuter silencieusement ailleurs.

Séparer emplacement et limite d’exécution

L’exécution locale utilise le contexte de processus de l’hôte du runner et ses autorisations. Les exécuteurs Docker et Kubernetes pris en charge introduisent une limite de conteneur ou de pod, avec leurs propres exigences de configuration et d’édition. Montages, réseau, privilèges et images déterminent la limite réelle ; le mot runner seul ne garantit aucune isolation.

Augmenter la capacité d’exécution indépendamment

Des runners supplémentaires peuvent ajouter de la capacité ou de la portée sans exécuter chaque tâche sur l’hôte de l’application web. Les réglages de parallélisme et d’interrogation influencent le fonctionnement. Des schémas avancés à usage unique peuvent combiner l’enregistrement, des hooks d’affectation et un runner qui s’arrête après un travail, mais ils nécessitent une automatisation du déploiement autour de ce cycle de vie.

Exécuter l’automatisation dans un réseau déconnecté

Utilisez une licence hors ligne Enterprise si l’installation doit fonctionner dans un réseau fermé. Gardez Semaphore et ses runners dans cet environnement et fournissez dépôts Git, images d’exécuteur et dépendances sans accès réseau public.

Choisir délibérément l’environnement d’exécution

L’exécution locale utilise les autorisations de processus de l’hôte du runner. Utilisez des exécuteurs Docker ou Kubernetes lorsque les travaux nécessitent leur propre conteneur ou pod, avec images, montages et paramètres réseau adaptés.

Garder les identifiants disponibles pour le travail

Les tâches ont besoin des identifiants et configurations référencés par leur modèle. Les sources d’environnement et de fichiers du Key Store sont résolues sur le serveur Semaphore avant l’utilisation de la valeur pour l’exécution.

FAQ

Quelle différence entre runners globaux et de projet ?

Les runners globaux sont enregistrés pour toute l’instance, tandis que les runners de projet appartiennent à un projet particulier. L’exécution distribuée globale est disponible dans toutes les offres ; le périmètre projet et les fonctions de routage associées sont inclus dans Pro et Enterprise selon la tarification. Choisissez le périmètre selon la responsabilité opérationnelle et l’accès aux environnements. Un runner propre au projet permet un placement délibéré, mais sa configuration d’exécution détermine encore les accès du processus exécuté.

Le serveur Semaphore a-t-il besoin d’une connexion entrante vers mon runner ?

Le runner établit la communication en se connectant à Semaphore et en l’interrogeant pour obtenir du travail. Cela permet un placement derrière NAT ou dans un réseau privé sans connexion entrante initiée par le serveur. Il doit toujours joindre Semaphore ainsi que dépôts, sources de paquets, services externes et cibles utilisés par ses tâches. Vérifiez chaque chemin : l’interrogation sortante ne supprime pas les autres exigences réseau.

Comment une tâche atteint-elle un runner ayant le bon réseau ou les bons outils ?

Utilisez tags de runners, exigences de modèle et réglages par défaut pris en charge pour associer le travail à un environnement approprié. Nommez les tags selon une capacité ou un emplacement significatif et gardez disponibilité et capacité visibles. Sans runner adapté prêt, la tâche peut attendre. Testez le parcours choisi avec une opération sans danger et confirmez le runner dans les détails avant de l’utiliser en production.

L’exécution sur un runner distant isole-t-elle chaque tâche ?

Pas à lui seul. Un exécuteur local utilise le contexte de processus de l’hôte du runner avec les accès fournis par cet environnement. Docker ou Kubernetes introduisent une autre limite, mais montages, privilèges, réseau et contenu des images restent déterminants. Choisissez séparément placement et mode d’exécution. Préparez les dépendances et vérifiez l’accès à l’hôte plutôt que de considérer runner ou conteneur comme une garantie de sécurité complète.

Des travaux différents peuvent-ils utiliser différentes versions de la chaîne d’outils ?

Préparez l’environnement requis par chaque travail sur son parcours d’exécution choisi. Les réglages d’image d’exécuteur pris en charge aident à fixer un ensemble de dépendances Ansible, Terraform, Python ou autres sans modifier tous les travaux d’un hôte partagé. Vérifiez version et édition installées pour les options concernées. Testez ensuite accès au dépôt, paquets et connexions cibles dans cet environnement réel, pas uniquement depuis une session administrateur interactive.

Ajouter des runners rend-il Semaphore lui-même hautement disponible ?

Ajouter des runners étend ou déplace l’exécution des tâches ; cela ne crée pas un plan de contrôle applicatif hautement disponible. La haute disponibilité applicative utilise plusieurs nœuds Semaphore coordonnés avec l’architecture documentée de base partagée, Redis et répartition de charge. Ces fonctions se complètent, mais répondent à des problèmes différents. Déterminez si votre limite concerne la capacité d’exécution, l’accès réseau ou l’accès à l’interface et à l’API avant de choisir la partie à dimensionner.

Que se passe-t-il si aucun runner portant le tag requis n’est en ligne ?

La tâche reste en attente jusqu’à ce qu’un runner disponible corresponde aux exigences de routage du modèle. Vérifiez tag, activation et dernier état de connexion du runner, puis sa capacité. Un tag est une règle de sélection : un runner sans tag ou avec un autre tag ne récupère pas automatiquement ce travail.

Puis-je choisir une image Docker pour un Task Template particulier ?

Oui. Un modèle peut remplacer l’image de travail par défaut si le runner utilise Docker dans Pro ou Kubernetes dans Enterprise. Chaque travail dispose ainsi de sa chaîne d’outils. Préparez l’image avec applications et dépendances ; le champ ne change pas l’exécution locale. Voir les réglages d’exécution du modèle.