Aller au contenu principal

Intégration GitHub

Présentation de l'intégration GitHub​

SDA prend actuellement en charge l'intégration avec GitHub, ce qui vous permet de relier votre compte et vos dépôts GitHub directement à la plateforme. Grâce à cette connexion, GitHub peut servir de dépôt local, géré en versions, qui reste synchronisé avec le dépôt SDA. Les administrateurs peuvent configurer l'authentification, sélectionner des dépôts et gérer les paramètres de synchronisation, ce qui permet aux équipes de conserver leurs workflows GitHub habituels tout en bénéficiant des capacités centralisées de gestion de projet et d'automatisation de SDA.

Principales fonctionnalités de l'intégration​

L'intégration de GitHub avec SDA offre plusieurs avantages :

  • Workflow simplifié : intègre de façon transparente le puissant contrôle de version de GitHub avec les fonctionnalités de gestion des versions de projets PLC et de gestion des PLC de SDA, améliorant ainsi la collaboration en équipe.
  • Gestion centralisée : combinez dépôts de code et gestion de projets PLC sur une seule plateforme afin de simplifier l'administration et le contrôle des accès.
  • Automatisation et déploiement : utilisez les pipelines de SDA et leurs fonctionnalités de déploiement automatisé pour fluidifier les livraisons de projets directement depuis les dépôts GitHub.
  • Collaboration en temps réel : les mises à jour et modifications sont synchronisées instantanément, garantissant que tous les membres de l'équipe travaillent sur la dernière version du projet.

En intégrant GitHub à SDA, votre équipe peut accroître sa productivité et l'efficacité de ses projets.

Comment connecter SDA à GitHub​

Configurer GitHub pour l'intégration SDA​

  1. Connectez-vous à GitHub : assurez-vous d'avoir vos identifiants GitHub à disposition.
  2. Générez un jeton d'accès personnel : pour donner accès à SDA, accédez aux Developer settings, choisissez Personal access tokens et créez un nouveau Fine-grained token. Définissez les autorisations Contents et Metadata pour les dépôts que vous souhaitez partager.
  3. Copiez le jeton : conservez votre jeton en lieu sûr, car il sera utilisé lors du processus d'authentification dans SDA.

En suivant ces étapes de préparation, votre compte GitHub sera prêt pour l'intégration avec SDA, vous permettant de bénéficier d'une collaboration et d'une gestion de projet améliorées.

Connecter votre GitHub à votre compte SDA​

Pour connecter votre plateforme SDA à GitHub, procédez comme suit :

  1. Accédez aux paramètres : ouvrez la plateforme SDA et rendez-vous dans la section « General Settings ».
  2. Créez une nouvelle intégration : accédez à la section Integrations et ajoutez une nouvelle intégration en cliquant sur Add Integration.
  3. Authentifiez le compte GitHub : dans la fenêtre Add Integration, saisissez le nom de l'intégration et collez votre jeton d'accès GitHub.

Configurer les webhooks pour les mises à jour automatiques​

Pour activer les mises à jour automatiques et garantir que SDA soit rapidement informé des modifications, vous devez configurer efficacement des webhooks dans vos dépôts GitHub. Voici comment procéder :

  1. Accédez aux paramètres du dépôt :

    • Commencez par ouvrir votre dépôt GitHub.
    • Cliquez sur l'onglet « Settings », généralement situé à l'extrême droite de la barre de navigation du dépôt.
  2. Localisez la section Webhooks :

    • Une fois dans les paramètres, faites défiler la page ou recherchez l'option « Webhooks » dans le menu de gauche.
    • Cliquez sur « Webhooks » pour gérer et ajouter de nouveaux hooks.
  3. Créez un nouveau webhook :

    • Appuyez sur le bouton « Add webhook » pour lancer la configuration d'un nouveau webhook.
    • Vous serez invité à saisir une Payload URL, c'est-à-dire le point de terminaison auquel vous souhaitez envoyer des requêtes HTTP POST lorsque certains événements se produisent. Vous pouvez copier cette valeur depuis l'intégration que vous venez de créer.
  4. Configurez le payload du webhook :

    • Sous « Content type », choisissez application/json afin de recevoir les données dans un format structuré.
    • Définissez la clé secrète pour protéger votre webhook contre les accès non autorisés. Vous pouvez copier cette valeur depuis votre intégration SDA.
  5. Sélectionnez les événements :

    • Choisissez l'option « Just push events ».
  6. Finalisez la configuration :

    • Vérifiez à nouveau les paramètres.
    • Cliquez sur « Add webhook » pour finaliser et activer le webhook.

Une fois configuré, votre webhook enverra les mises à jour à SDA.

Lier un dépôt à un projet SDA​

Pour lier un dépôt à un projet SDA, procédez comme suit :

  1. Accédez à la section du projet : ouvrez votre projet SDA.

  2. Ouvrez le menu d'édition du projet : cliquez sur les trois points en haut à droite de la page du projet.

  3. Connectez le dépôt :

    • Sélectionnez « Link to Repository ».
    • Choisissez un dépôt dans la liste pour le lier.
  4. Confirmation : vérifiez que la configuration fonctionne. En cas de succès, une icône GitHub apparaîtra dans l'en-tête des détails du projet.

Préparer votre dépôt pour l'intégration SDA​

Maintenant que votre dépôt est configuré et connecté, préparez son contenu afin que SDA puisse déterminer comment le traiter.

Structure des dossiers du dépôt GitHub​

Le processus d'intégration SDA exige que chaque dépôt héberge un seul projet PLC. Bien que la structure des dossiers puisse être personnalisée par l'utilisateur, le dossier racine doit contenir un fichier config.sda.json. Ce fichier indique le fournisseur et la version de l'IDE du projet PLC.

Schéma du fichier de configuration

  • schema_version : indique la version du schéma du fichier de configuration. La valeur par défaut est 1.0.0, ce qui permet des évolutions futures et maintient la compatibilité ascendante.
  • vendor : indique le fournisseur du projet PLC. Les valeurs acceptées sont :
    • siemens
    • rockwell
  • ide_version : indique la version du projet PLC. Elle suit le format {major}.{minor}.{patch}. Par exemple, Siemens TIA V17 se traduit par 17.0.0 et Rockwell V37 est représenté par 37.0.0.
  • project_path : ce champ indique le chemin correct vers le projet PLC au sein de votre dépôt. Il utilise un format de chemin relatif partant du dossier racine du dépôt. Cela signifie que, lors de la définition de project_path, vous ne devez pas inclure le répertoire racine lui-même dans votre chemin. Indiquez plutôt les segments de chemin menant au dossier du projet PLC concerné. Par exemple, si votre projet PLC se trouve dans un dossier nommé Projects situé directement dans le répertoire racine et que, dans Projects, il existe un dossier PLC1 contenant les fichiers de projet souhaités, votre project_path serait ./Projects/PLC1/MySiemensPLCProject.zap17. Cette configuration permet de conserver des références de fichiers cohérentes dans les différents environnements où le dépôt peut être utilisé, car elle ne repose pas sur des chemins absolus qui peuvent varier d'un système à l'autre.
    • Projet Siemens Automation : pour la gestion des projets d'automatisation Siemens, nous prenons en charge à la fois le fichier compressé .zap et la structure de dossiers non compressée contenant les fichiers .ap. Voici comment travailler avec ces formats :
      • Fichier compressé : si votre projet est au format compressé, vous pouvez utiliser directement le fichier .zap. Cela est utile pour transférer facilement des projets sous forme d'un unique paquet. Par exemple, utilisez le chemin de fichier :
        • ./Projects/PLC1/MySiemensPLCProject.zap17
        • ./MySiemensPLCProject.zap19
      • Dossier non compressé : vous pouvez également travailler avec un dossier non compressé contenant les fichiers .ap. Cette configuration facilite l'accès aux composants individuels du projet, ce qui peut être avantageux lors du développement ou du débogage. Utilisez le chemin suivant pour accéder à votre projet :
        • ./Projects/PLC1/MySiemensPLCProject/MySiemensPLCProject.ap17
        • ./MySiemensPLCProject/MySiemensPLCProject.ap19
    • Projet Rockwell Automation : pour les projets d'automatisation Rockwell, le processus est simplifié. Ces projets sont encapsulés dans un unique fichier .ACD, ce qui facilite la gestion et le partage des projets. Suivez ces étapes pour accéder à votre projet PLC Rockwell :
      • Fichier ACD : le fichier .ACD contient toutes les données nécessaires du projet. Il suffit de pointer vers le fichier :
        • ./Projects/PLC1/MyRockwellPLCProject.ACD
        • ./MyRockwellPLCProject.ACD

Exemple de fichier config.sda.json​

{
"schema_version": "1.0.0",
"vendor": "siemens",
"ide_version": "17.0.0",
"project_path": "./SimulatedAxisSinamicsV90_S71212C.zap17"
}

Une fois l'opération réussie, votre dépôt sera lié au projet SDA, facilitant la collaboration et la gestion de projet. Désormais, chaque nouveau commit poussé vers votre dépôt GitHub créera une version de projet correspondante dans votre projet SDA.