Build Forge utilise un ensemble simple d'objets pour construire des descriptions de l'automatisation de processus.
Cette section présente les concepts et objets principaux
ainsi que leurs relations. Des liens permettant d'accéder à des explications
plus détaillées sont fournis.
Utilisateurs et rôles
Pour accéder à Build Forge, un
objet utilisateur doit être défini pour les utilisateurs. Pour ce faire, dans les systèmes de production, Build Forge
est configuré afin d'accéder à un système de gestion des identités : LDAP.
Build Forge utilise un système d'autorisation
pour gérer les accès utilisateur à tous les objets. Les objets de groupe d'accès comportent des listes d'autorisations. Un utilisateur appartient à un ou plusieurs groupes d'accès.
Vous pouvez créer vos propres groupes d'accès ou modifier ceux fournis. Les groupes d'accès définis dans le système sont les
suivants :
- Responsable de génération - définit les processus (crée les projets et les étapes)
- Gestionnaire système - gère les serveurs et les autres fonctions système
- Sécurité - gère les utilisateurs, les accès et la sécurité
- Développeur - aide au développement des processus, exécute les travaux, affiche les résultats
- Opérateur - copie les projets, exécute les travaux, affiche les résultats
- Invité - copie les projets, exécute les travaux, affiche les résultats
Serveurs
Un objet serveur définit un emplacement dans lequel les projets et étapes peuvent s'exécuter. Les projets et les étapes
peuvent utiliser un même serveur ou des serveurs différents.
Les objets
serveur représentent les hôtes sur lesquels le travail est réalisé. L'hôte doit
exécuter un agent Build Forge pour que le système lui envoie le travail et
renvoyer les résultats.
D'autres objets sont liés au serveur
et doivent être configurés avant de définir les projets et étapes :
- Authentifications de serveur : une authentification
de serveur stocke les informations de connexion du serveur qui permettent d'accéder
à l'hôte spécifié par le serveur. L'authentification de serveur
doit être créée avant de créer le serveur qui l'utilisera. Dans la définition
de serveur, sélectionnez l'authentification de serveur dans la liste
des authentifications définies dans le système.
- Collecteurs : un objet collecteur rassemble les propriétés spécifiées d'un serveur. Les données sont stockées dans un manifeste. Un ensemble de propriétés est attribué par défaut
aux serveurs. Ces propriétés intégrées incluent les informations
relatives à l'architecture hôte, aux connexions réseau et aux ressources (UC,
mémoire, charge). Vous pouvez ajouter des propriétés en définissant des objets
collecteur. Le collecteur doit être créé avant d'être ajouté au serveur.
Dans la définition de serveur, sélectionnez le collecteur dans la liste des collecteurs définis dans le système.
- Sélecteurs : un objet sélecteur détermine comment le serveur est sélectionné pour être utilisé par un projet ou une étape. Le sélecteur doit être créé avant d'être ajouté au projet qui l'utilise. Dans la définition de projet, choisissez le sélecteur dans la liste des sélecteurs définis dans le système.
- Environnements : un objet environnement est un ensemble de variables pouvant être utilisées par une étape. Lors d'un travail, les variables
sont définies sur le serveur hôte avant l'exécution de l'étape. Les environnements peuvent être associés à des objets serveur, projet et étape.
Lorsqu'une variable prend des valeurs différentes dans différents environnements,
un schéma d'héritage détermine la valeur
utilisée. Un environnement doit être créé avant d'être ajouté à un serveur, projet ou étape. Dans ces définitions d'objet, sélectionnez l'environnement dans la liste des environnements définis dans le système.
Environnements
Un environnement est un ensemble de variables. Des environnements peuvent être spécifiés pour des objets serveur, projet et étape. Lorsqu'une étape s'exécute, les environnements définis pour chacun de ces objets sont combinés afin de fournir les variables à utiliser pour l'étape. Voir A propos des environnements.
Les variables
peuvent être modifiées lorsqu'une étape s'exécute. Voir Modification des valeurs de variables lors de l'exécution d'une étape. La portée de la modification peut être locale, au niveau de l'étape ou du projet, ou permanente (la variable est modifiée dans l'environnement stocké).
Les variables système prédéfinies ainsi que les variables que vous définissez
sont disponibles.
Projets
Un projet définit le travail à faire dans un processus. Lorsqu'un projet est lancé, il s'exécute en tant
que travail.
Le travail à faire est contenu dans une liste d'étapes.
D'autres objets
sont liés aux projets :
- Sélecteurs : un sélecteur détermine l'emplacement à partir duquel le projet est démarré. Si aucun sélecteur n'est spécifié pour le projet, il ne peut pas s'exécuter indépendamment et est nommé bibliothèque. Le sélecteur doit être déjà défini afin de
l'attribuer à un travail.
- Environnements : un objet environnement est un ensemble de variables pouvant être utilisées par une étape. Lors d'un travail, les variables
sont définies sur le serveur hôte avant l'exécution de l'étape. Les environnements peuvent être associés à des objets serveur, projet et étape.
Un schéma d'héritage détermine les valeurs utilisées
si plusieurs valeurs sont définies pour une même variable. Un environnement doit être créé avant de créer le serveur, le projet ou l'étape qui l'utilise. Dans ces définitions d'objet, sélectionnez l'environnement dans la liste des environnements définis dans le système.
- Modèles de notification : un modèle de notification définit comment envoyer les notifications
relative à l'activité d'un travail (lancement, réussite, échec, autres). Un objet notification
détermine l'utilisateur à notifier dans les groupes d'accès. Vous indiquez l'emplacement
de votre serveur SMTP dans un paramètre système.
- Classes : un objet classe permet de grouper des projets à des fins de maintenance. Généralement, les classes sont utilisées
pour purger ou archiver régulièrement les travaux terminés. Tous les travaux qui ont été exécutés
à l'aide du projet sont concernés par la classe.
- Adaptateurs : un adaptateur définit une intégration
à un système externe, généralement un système de gestion de code source.
Plusieurs modèles sont fournis comme point de départ. Vous devez terminer leur configuration
pour gérer la connexion et effectuer les actions spécifiées dans le système.
- Liens d'adaptateur : un lien d'adaptateur définit la relation entre un adaptateur
et le projet qui l'utilise.
Etapes
Une étape correspond à la plus petite
unité de travail à effectuer. (Voir A propos des étapes.) Son composant principal est sa propriété Commande, qui inclut une commande à exécuter sur
le serveur sélectionné.
La propriété Commande peut être également utilisée pour exécuter des commandes point.
Les commandes point sont des commandes qui s'exécutent sur le moteur
de traitement et fournissent des fonctionnalités supplémentaires.
D'autres objets
sont liés aux projets :
- Sélecteurs : une étape peut posséder son propre sélecteur.
S'il n'est pas indiqué, elle utilise le sélecteur de son projet.
- Environnements : une étape peut posséder son propre environnement.
Les environnements fournis par le serveur, le projet et l'étape sont
combinés. Ils sont fournis par défaut dans cet ordre. Ainsi, n'importe quelle variable
définie par l'environnement de l'étape est prioritaire
sur les autres définitions de la variable. La priorité peut être gérée
dans les paramètres système.
- Filtres de journal : un filtre de journal peut être affecté à la propriété Résultat
de l'étape. Un objet filtre de journal est utilisé pour spécifier les conditions indiquant si l'étape a abouti ou échoué. Lors de l'exécution d'un moteur Perl, vous utilisez les expressions Perl pour rechercher un modèle particulier dans le journal. Lors de l'exécution d'un moteur Java, vous utilisez également les expressions Perl pour rechercher un modèle particulier dans le journal. Normalement l'état de sortie de la commande est utilisé, mais les filtres de journal offre
une alternative. Un filtre de journal doit être créé avant d'être spécifié dans une étape. Dans la propriété Résultat de l'étape, vous sélectionnez le filtre de journal
dans la liste de tous les filtres de journal définis dans le système.
- Modèles de notification : un modèle de notification définit comment envoyer les notifications
relative à l'activité d'une étape (lancement, réussite, échec, autres). Un objet notification
détermine l'utilisateur à notifier dans les groupes d'accès. Vous indiquez l'emplacement
de votre serveur SMTP dans un paramètre système.
- Build Catalyst : une étape peut exécuter rafmake, l'utilitaire principal de Build
Catalyst. Build Catalyst permet d'accélérer les générations basées
sur la fabrication. Build Catalyst doit être installé sur l'hôte à partir duquel les générations basées sur la fabrication sont exécutées, en plus d'un agent Build Forge.
Travaux
Un travail est
un projet en cours d'exécution. Lorsque le travail est lancé,
le moteur de traitement le place dans la file d'attente puis l'exécute. Vous pouvez consulter son état dans le panneau Travaux. Une fois terminé, les informations suivantes
sont disponibles :
- Résultats : vous pouvez consulter les résultats de toutes les étapes en ouvrant le travail. Vous pouvez également ouvrir un travail en cours d'exécution pour contrôler sa progression.
- Journal d'étape : le journal d'étape enregistre les informations importantes
relatives à l'exécution d'une étape, y compris les informations relatives au manifeste et aux paramètres d'environnement, ainsi que les résultats de l'exécution. Cliquez sur le lien des résultats de l'étape de la page Résultats pour afficher
le journal.
- Nomenclature : la nomenclature (BOM) contient des informations sur les étapes du travail et les manifestes des étapes. Vous pouvez utiliser la commande point .bom pour
formater des informations supplémentaires pour la nomenclature et y écrire des
données. Vous pouvez utiliser la commande point .scan pour ajouter des versions de référence et des points de contrôle à la nomenclature.
Vous pouvez annuler et redémarrer des travaux. Vous pouvez ajouter des projets à la Planification pour qu'ils s'exécutent à des heures planifiées.