GitHub
Onyx est compatible avec l'outil Git. Cette fonctionnalité permet de bénéficier de l'ensemble des avantages de GitHub, tout en profitant du suivi du traitement des tâches et de la planification proposés par Onyx.
Elle permet également aux développeurs de pouvoir continuellement apporter de nouvelles versions sans se soucier de les déployer sur Onyx.
Onyx utilise la nouvelle technologie de GitHub, les webhooks.
Webhooks
Les webhooks permettent, de manière automatisée, de mettre à jour les scripts du worker dès qu'un push est effectué. C'est à dire que lorsque cette action est réalisée depuis un poste de développeur, l'action sera répercutée sur les composants Onyx sans aucune autre action requise.
Configuration de GitHub
Cet écran est accessible depuis le menu Développer - Github, bouton "Configuration Github".
Tant qu'aucun dépôt n'est renseigné, la page Github affiche le message "Aucun dépôt n'est encore connecté" et propose directement le bouton "Configuration Github". Un utilisateur qui ne dispose pas du droit "Paramètres" du tenant voit à la place le message "Demandez à un administrateur de renseigner le dépôt Github dans les paramètres du tenant."
-
Activer
Permet d'activer ou de désactiver la synchronisation avec Git.
-
Dépôt
Nom du repository, sous la forme : "nom_organisation/nom_repository". Champ obligatoire.
-
Branche
Définit la branche. Champ obligatoire. C'est la seule branche parcourue et modifiée depuis Onyx.
-
Token
Chaîne de caractères donnant des droits sur le repository. La gestion des tokens s'effectue directement depuis la page settings du repository sur GitHub. Un token à permissions fines a besoin de "Contents" en lecture et écriture, et de "Metadata" en lecture, sur ce dépôt.
-
Chemin
Chemin d'accès au repository sur le disque de la machine.
-
Script post-synchronisation
Permet de spécifier des opérations sous forme de commandes shell (ex : installation des requirements).
Le bouton "Tester la connexion" vérifie les valeurs saisies dans le formulaire, avant même de les enregistrer. Il distingue les cas suivants :
- tout fonctionne, en lecture comme en écriture ;
- la lecture fonctionne mais pas l'écriture : le dépôt peut être parcouru, mais rien ne pourra être commité ;
- le token est refusé (incorrect, révoqué ou expiré) ;
- le dépôt est introuvable ou inaccessible avec ce token ;
- le dépôt répond mais ne contient pas la branche demandée.
Explorer le dépôt depuis Onyx
L'écran Développer - Github permet de parcourir le dépôt sans quitter Onyx.
L'arborescence, à gauche, se charge dossier par dossier. Le nom de la branche parcourue est rappelé en haut de l'arborescence. Un dossier contenant plus de 1000 entrées n'est affiché que partiellement : un message invite alors à utiliser la recherche. Les sous-modules sont listés mais ne peuvent pas être parcourus.
Le champ de recherche, au-dessus de l'arborescence, cherche un fichier dans tout le dépôt à partir de deux caractères saisis. Les résultats remplacent l'arborescence ; effacer la recherche restaure l'arborescence dans l'état où elle se trouvait.
Un clic sur un fichier affiche son contenu dans l'éditeur de droite, avec la coloration syntaxique correspondant à son extension. Le chemin du fichier est repris dans l'adresse de la page : un favori ou une actualisation ramènent au même fichier. Les fichiers binaires et les fichiers trop volumineux ne sont pas affichés.
L'en-tête de l'éditeur rappelle le chemin complet du fichier (avec un bouton de copie) et le dernier commit l'ayant modifié. Le bouton en forme d'horloge ouvre l'historique du fichier : la liste des commits à gauche, et le détail des modifications du commit sélectionné à droite. Un second bouton horloge, au-dessus de l'arborescence, affiche les derniers commits de la branche.
Le bouton lune / soleil de la barre de page bascule l'éditeur entre thème clair et thème sombre. Ce choix est conservé sur le poste de l'utilisateur.
Modifier un fichier
La modification du dépôt nécessite le droit "Committer des fichiers". Sans ce droit, l'éditeur affiche le badge "Lecture seule" et le contenu n'est pas modifiable.
Chaque enregistrement crée un commit directement sur la branche configurée : il n'y a ni branche intermédiaire, ni pull request.
- Modifier : saisir les modifications dans l'éditeur. Une barre apparaît alors en bas de l'écran avec un champ "Message de commit", un bouton "Annuler les modifications" et un bouton "Enregistrer". Le bouton "Enregistrer" reste inactif tant qu'aucun message de commit n'est saisi.
- Créer : sélectionner le dossier cible dans l'arborescence, puis le bouton "+". Le chemin du nouveau fichier est pré-rempli avec le dossier sélectionné.
- Supprimer : sélectionner le fichier, puis l'icône corbeille. Un message de commit est également demandé.
Si le fichier a été modifié sur GitHub depuis son chargement dans Onyx, l'enregistrement est refusé : il faut rafraîchir le fichier avant de l'enregistrer à nouveau.
Lorsque la case "Activer" de la configuration est décochée, un bandeau rappelle que la synchronisation est désactivée pour ce tenant et que le worker ne récupérera pas ces modifications.
Mettre à jour les workers
Le bouton "Mettre à jour les workers" demande à chaque worker du tenant de rafraîchir sa copie locale du dépôt. Il complète le webhook, notamment pour les workers qui ne sont pas joignables depuis Internet.
Une fenêtre suit l'avancement worker par worker et affiche la sortie de chacun. Une demande encore en attente peut être annulée individuellement. Un worker hors ligne, ou exécutant une version qui ne sait pas traiter cette demande, est signalé comme tel : il continue de se mettre à jour par le webhook.
Ce bouton nécessite également le droit "Committer des fichiers".
Fichiers référencés par un script shell
Dans le composant Script Shell, la liste des fichiers du dépôt référencés par le script est affichée sous l'éditeur. Un clic ouvre le fichier concerné dans l'écran Github. Cette liste n'est visible que pour les utilisateurs disposant du droit "Github".
Droits nécessaires
- Github : donne accès à l'écran et à la consultation du dépôt.
- Committer des fichiers : autorise la création, la modification et la suppression de fichiers, ainsi que la mise à jour des workers.
- Paramètres (droit d'administration du tenant) : autorise la consultation et la modification de la configuration du dépôt.