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 :

Important !

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é.

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 :

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 :

  1. 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.

  2. 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.

  3. 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 :

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.

Branches

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.

Extraction

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 :