Catégories

Créer un dépôt Git hébergé par Bitbucket

Cet article présente la gestion des projets Agilitest avec un dépôt Git hébergé sur Bitbucket.

Qu'est-ce que Bitbucket ?  

Bitbucket est un service proposé par la société Atlassian, qui permet d'héberger et de versionner des fichiers à l'aide de Git. Il est bien connu dans le monde de l'entreprise, facile à utiliser, et permet une intégration parfaite avec Jira, un système de suivi des bug développé par la même société mère.
La gestion des dépôts Git se fait à partir de l'interface web du service SaaS, mais un logiciel de bureau est disponible pour effectuer les opérations de mise à disposition et de validation des fichiers. Il s'agit de Sourcetree.
Dans le cadre de cet article, le logiciel Sourcetree a été configuré en anglais pour plus de clarté sur les termes originaux de Git : Stage, Commit, Pull, Push, Fetch, Branch, Merge, Stash. Par ailleurs, tous les termes de l'application ne sont pas traduits de l'anglais.

Pour les besoins de cet article, il est donc nécessaire de disposer d'un compte utilisateur Bitbucket, et du logiciel Sourcetree en mode connecté. La connexion de Sourcetree avec le compte Bitbucket peut se faire via les identifiants de connexion, ou via les jetons API qui sont créés sur le back office Bitbucket dans Paramètres personnels > Mots de passe de l'app > Créer des mots de passe de l'app.
SourceTree a été configuré pour utiliser l'installation "système" de Git et non la version intégrée qui peut parfois causer des problèmes d'authentification pour les clones de dépôt.

Mise en place d'un projet Agilitest géré avec Git  

La première étape consiste à créer un dépôt Git depuis l'interface web Bitbucket ou depuis le logiciel Sourcetree en mode connecté.

Création d'un référentiel vide  

Depuis le logiciel, allez dans l'onglet Local, cliquez sur le bouton Créer.
Saisir le chemin d'un dossier vide qui contiendra le référentiel sur le disque dur local, ainsi que le nom du référentiel (ici référentiel-test). Cochez Create Repository On Account et sélectionnez le compte Bitbucket sur lequel synchroniser le dépôt (Account, Owner, Description). Cochez"Is Private" pour éviter de publier votre contenu en open-source à la vue de tous.  

Figure 1 : Création d'un référentiel dans Sourcetree

Mise en place d'un projet Agilitest dans le référentiel  

En mode local, sans Git, Agilitest permet de créer de nouveaux projets. Ces projets sont alimentés automatiquement avec une arborescence par défaut qui comprend libs, src, target, etc.  

Mais dans ce cas, nous avons commencé par créer un dossier de projet vide (pour en faire un dépôt). Nous devons donc copier les éléments d'un projet vide dans notre dossier de dépôt Git (ici, dépôt-test). Une façon de faire est de créer le projet repository-rest-2 dans Agilitest et de copier-coller son contenu dans repository-test. Attention cependant à mettre à jour les fichiers README.md, .atsProjectProperties, et pom.xml pour adapter le nom correct du projet.

Une autre méthode consiste à créer d'abord le projet Agilitest, à déplacer son contenu ailleurs, à initialiser le dépôt Git, à y remettre son contenu, puis à Stage and Commit le dépôt.

Premier engagement  

À cette étape, nous sommes au niveau zéro du projet et prêts à commencer. Il est temps de s'engager.  

Pour ce faire, rendez-vous à l'adresse suivante Sourcetree : Unstaged files > Stage allpuis cliquez sur le bouton Commit en bas à droite. Attention à ne pas confondre avec le bouton Commit en haut à gauche.

Figure 2 : Fichiers mis en scène pour Commit et Push

Le projet est ainsi "snapshoté" dans son état initial et, dans le futur, il sera possible de revenir à cet état. Pour synchroniser le dépôt et ses commits sur le serveur Bitbucket, cliquez sur l'icône"Push".  

Une question qui revient souvent est celle de la fréquence des commits. Pour répondre à cette question, examinons la notion de commits atomiques, qu'il est conseillé de respecter :  

  • Un commit ne concerne qu'une seule tâche : la maintenanceun test, l'évolution d'un test ATS , un nouveau scénario ATS , etc.  
  • Un commit ne rompt pas la cohérence du référentiel en empêchant l'exécution des tests ou de la campagne.  
  • Un engagement doit être associé à un message concis et explicite.

Possibilités offertes par cette configuration  

Les possibilités offertes par ce dépôt Git Bitbucket sont les mêmes que pour tout dépôt Git :  

  • Versioning des projets Agilitest et en particulier des fichiersats .  
  • Le travail collaboratif entre plusieurs profils d'automatisation sur un même projet, et notamment la notion de Fusion.  
  • Synchronisation des dossiers du projet entre le dépôt Git, les rôles d'automatisation et le serveur d'exécution. Git est donc un pilier de la chaîne CI/CD.  

Notez que la conservation des rapports est généralement gérée par Jenkins, avec la conservation des artefacts de chaque lancement de travail (#1, #2 etc.), plutôt que par le versionnage des fichiers de rapport d'exécution.

Vous avez encore besoin d'aide ?
Contacter le support