Gestion des versions
Si vous êtes développeur et concepteur d'objets, vous devez créer et gérer plusieurs versions d'un objet, les exporter et les importer depuis et vers un référentiel distant, restaurer les modifications pour une version antérieure et accéder à l'historique de validation du client. Vous pouvez synchroniser les référentiels sur plusieurs nœuds d'un système pour accéder à vos données, tout en garantissant un environnement de travail collaboratif pour tous les développeurs et concepteurs d'objets.
Cette rubrique contient les sujets suivants :
Présentation
Le référentiel distant et Gestion des versions vous permettent de sauvegarder et de stocker correctement différentes versions de votre client, que vous pouvez restaurer à tout moment. Cela vous permet également de travailler de manière autonome et collaborative en équipe, dans une configuration à plusieurs environnements. Les données stockées dans un référentiel distant n'étant pas liées à un nœud spécifique, sont donc accessibles depuis n'importe quel nœud de votre système.
Vous pouvez accéder à la Gestion des versions à partir de la Conception des processus. Pour pouvoir l'utiliser, vous devez configurer un référentiel distant, le connecter à votre système et initialiser votre client. Une fois le client initialisé, vous pouvez effectuer les opérations suivantes :
- Valider vos modifications dans le référentiel distant
- Fusionner les modifications effectuées dans d'autres branches avec votre client
- Restaurer une version antérieure de votre client
- Créer une nouvelle branche à partir d'une branche existante
- Récupérer les modifications appliquées à votre branche depuis un autre client.
Important !
-
En présence d'au moins un objet pour lequel vous ne disposez pas du privilège en écriture (W), l'opération que vous tentez d'effectuer s'interrompt et un message d'erreur s'affiche. Dans ce cas, vous pouvez sélectionner vos modifications et continuer avec ces modifications. Pour toute aide relative à vos autorisations et privilèges, contactez votre administrateur système.
-
Vous pouvez exclure certains objets de l'accès en écriture dans le référentiel, en utilisant l'objet variable (VARA) UC_VERSIONCONTROL_EXCLUDE - Exclure les modifications de la validation. Exclure des objets est utile si vous souhaitez éviter d'écraser certaines configurations ou si vous souhaitez réduire votre volume d'exportation ou d'importation.
Configurer un référentiel distant
Avant de commencer à travailler avec la Gestion des versions, vous devez configurer un référentiel git. Vous pouvez soit le faire manuellement, soit utiliser des services, tels que GitHub ou Bitbucket. Afin de permettre la communication entre l'Automation Engine et le référentiel avec une clé SSH, vous devez d'abord générer les clés SSH.
Vous devez ensuite définir le paramètre REPOSITORY_SSH_DIR (connexion sécurisée) pour spécifier le chemin des clés SSH générées dans le système de fichiers de l'Automation Engine. Vous pouvez le définir soit dans le paramètre UC_SYSTEM_SETTINGS - Paramètres système du client 0, soit dans UC_CLIENT_SETTINGS - Divers paramètres du client pour le client concerné.
-
Si ce paramètre a été défini dans les paramètres système (REPOSITORY_SSH_DIR) du client 0, tous les clients du système utilisent le répertoire SSH que vous aurez choisi d'utiliser lors de la connexion à un référentiel distant.
-
Si ce paramètre a été défini dans les paramètres client (REPOSITORY_SSH_DIR) d'un client spécifique, il écrase la définition des paramètres système et le client spécifique utilise le répertoire SSH que vous définissez ici.
-
Si aucun paramètre n'a été défini, le système se sert du répertoire SSH par défaut de l'utilisateur utilisé pour lancer l'Automation Engine dans le système de fichiers du système d'exploitation.
Pour activer la gestion des versions, vous devez établir une connexion entre votre client et le référentiel distant. Le paramètre REMOTE_REPOSITORY_URL dans UC_CLIENT_SETTINGS - Divers paramètres du client vous permet de définir l'URL SSH du référentiel utilisé pour établir la connexion.
Initialiser votre client
Initialiser votre client vous permet de travailler avec la Gestion des versions. Ainsi, le contenu de votre client est synchronisé avec celui d'une branche spécifique du référentiel distant.
Pour initialiser votre client, sélectionnez l'une des options suivantes :
-
Créez une nouvelle branche.
Dans ce cas, vous exportez le contenu de votre client vers une nouvelle branche du référentiel distant. Tous les objets sont stockés dans des fichiers distincts.
-
Sélectionnez une branche déjà disponible dans votre référentiel distant.
Important ! Lorsque vous sélectionnez une branche déjà prête pour l'initialisation,
-
le contenu de votre client est remplacé par celui de la branche que vous avez sélectionnée, en incluant tous les utilisateurs. Les utilisateurs exportés vers la branche restent dans le client initialisé, mais ils sont verrouillés. Ils doivent être déverrouillés dans le client 0 et un nouveau mot de passe doit être défini.
Ce comportement n'est valable que lorsque l'on utilise l'authentification AE. Avec l'authentification LDAP, les utilisateurs ne sont pas verrouillés.
-
Le client doit être arrêté, sinon vous obtenez un message d'erreur.
-
Valider des modifications
Valider des modifications du référentiel distant vous permet d'ajouter des objets nouveaux, modifiés ou supprimés en tant que nouvelle version de votre client. Afin d'éviter tout conflit et de permettre à votre client de rester synchronisé avec le référentiel distant, le système extrait le statut du référentiel et le compare à celui de votre client. Le système met ensuite en surbrillance les objets ayant été modifiés depuis la dernière validation par un utilisateur de votre client.
Ces modifications sont répertoriées dans la vue Modifications non validées et sont prêtes à être validées. Vous pouvez en sélectionner une ou plusieurs modifications depuis la dernière validation. Vous pouvez également utiliser le bouton Filtre de la barre d'outils pour limiter le nombre d'enregistrements s'affichant et, par exemple, n'afficher que vos modifications. Le système vérifie ensuite si oui ou non vous disposez des privilèges nécessaires pour le faire.
Important ! La saisie d'un message de validation est obligatoire et il est recommandé de décrire clairement les modifications en cours de validation.
Une fois validée, la modification apparaît dans la vue Valider historique, qui affiche le message de validation, la date et l'heure de la validation, ainsi que l'utilisateur ayant validé les modifications. Ces modifications correspondent à la branche active, laquelle est clairement signalée par une coche verte. Vous pouvez également voir l'historique de validation d'autres branches, en sélectionnant la branche concernée dans la liste déroulante.
La vue Historique de validation vous permet de restaurer une version antérieure de votre client, fusionner d'autres branches dans votre client, créer une nouvelle branche à partir d'une validation spécifique ou envoyer les modifications de votre branche actuelle du référentiel distant vers votre client.
Restaurer une version antérieure
La restauration d'une version antérieure ("Rollback") n'est possible que pour la branche actuellement active.
Important ! N'oubliez pas que le contenu complet du client est restauré depuis le référentiel distant. Ceci est également applicable, même quand, après initialisation, le système compare les statuts du référentiel et du client, pour ne faire ressortir que les objets modifiés. Il est donc important de comprendre ce qu'il se produit au niveau des objets lors de la restauration d'une version antérieure. Il y a trois scénarios possibles :
-
Un objet est présent dans le référentiel distant, mais pas dans votre client.
Dans ce cas, l'objet est importé vers votre client.
-
Un objet est présent dans les deux, le référentiel distant et votre client.
Dans ce cas, l'objet est remplacé par la version du référentiel distant.
-
Un objet est présent dans votre client, mais pas dans le référentiel distant.
Dans ce cas, l'objet est supprimé de votre client.
Le bouton Rollback n'est disponible que si vous êtes dans la branche active ou si vous avez sélectionné une validation. Après avoir sélectionné la validation souhaitée dans l'historique de validation et cliqué sur Rollback, le système vérifie qu'il n'y ait pas de modifications non validées dans votre client. Si tel est le cas, un avertissement vous informe que toutes les modifications depuis la dernière validation seront perdues, si vous effectuez la restauration.
Après une restauration réussie, le nouveau message de validation est signalé en tant que restauration et inclut l'ID de validation. Cet ID ne vous permet d'identifier que la restauration, car le message de validation n'a pas besoin d'être unique.
Fusionner des branches avec votre client
La fusion vous permet d'incorporer dans le client actuel les modifications validées d'autres branches.
Important ! Une fusion ne peut être initiée qu'à partir de la branche cible.
Si, par exemple, vous travaillez dans une branche de développement et que vous devez obtenir le statut actuel de la branche maîtresse pour tester votre travail, vous devez faire fusionner la branche maîtresse dans votre branche de développement (active). Si après le test, vous souhaitez faire fusionner votre travail dans la branche maîtresse, vous devez le faire à partir du client connecté à la branche maîtresse.
Lors de la fusion du contenu, certains objets peuvent présenter des conflits que vous devez vérifier avant de les importer dans votre client. Dans ce cas, l'opération est mise en pause jusqu'à la résolution du conflit. Vous pouvez accéder à la vue Comparer et passer les conflits un par un en revue pour obtenir la meilleure résolution possible.
Important : la version originale est toujours celle du client dans lequel vous êtes en train de travailler.
La boîte de dialogue Comparer affiche tous les conflits côte à côte. Le volet de gauche affiche les données XML de l'objet original et celui de droit, celles de l'objet figurant dans le référentiel. Le champ de saisie, dans le coin supérieur droit, vous permet de définir le nombre de lignes devant apparaître au dessus et en dessous du conflit. Cette option est particulièrement utile pour les gros fichiers XML.
Vous pouvez sélectionner l'une des trois options suivantes :
-
Conserver original : cette action conserve la version originale de l'objet dans votre client et ignore celle du référentiel.
-
Remplacer original : cette action remplace la version originale de l'objet dans votre client par celle du référentiel.
-
Conserver les deux : cette action conserve la version originale de l'objet dans votre client en ajoutant également celle du référentiel séparément, avec un suffixe, afin de permettre la distinction entre les deux versions.
Qu'il s'agisse de conserver la version originale, de la remplacer ou de conserver les deux versions, une nouvelle version de l'objet est automatiquement générée et doit être validée afin d'éviter toute incohérence dans le système.
En tant qu'administrateur, vous voudrez configurer de nouveaux clients à partir des versions d'autres clients, afin de permettre aux développeurs de travailler dans un environnement particulier. Vous pouvez obtenir cet environnement en créant une nouvelle branche à partir d'une validation spécifique.
Important ! Pour des raisons de sécurité, les mots de passe et autres champs chiffrés ne sont pas exportés vers le référentiel. Lorsque vous créez une nouvelle branche et initialisez votre client depuis une autre branche, vous devez reconfigurer les informations d'identification (tels que les objets Login, Connexion, Utilisateur) du client. De plus, les objets Utilisateur, qui sont verrouillés après avoir été importés dans un autre client, doivent être déverrouillés par l'administrateur système.
Dans la vue Historique de validation, sélectionnez la validation qui servira de base à votre nouvelle branche, puis cliquez sur Nouvelle branche à partir de celle sélectionnée. La nouvelle branche est enregistrée dans la liste des branches disponibles pour votre client et a le statut de la validation sélectionnée.
Supposons que plusieurs clients puissent utiliser la même branche, vous devrez probablement incorporer à votre client certaines modifications validées pour la branche active, afin de vous assurer que votre contenu est à jour et synchronisé avec le référentiel.
Le bouton Extraire est disponible dans la vue Historique de validation de la branche active. Cette vue contient un indicateur montrant quelle validation de la branche active correspond au statut actuel de votre client. Lorsque vous activez Extraire, la validation la plus récente est importée dans votre client et l'indicateur est défini en conséquence.
Important ! Vous ne pouvez pas valider des modifications sans avoir le même statut de référentiel. En cas d'extraction et de modifications non validées, le système vous avertit que toutes les modifications non validées seront écrasées. Pour conserver les modifications non validées, vous pouvez renommer les objets ou utiliser la fonction d'exportation normale.
Voir aussi :