Aller au contenu principal

Modules personnalisés

Vous pouvez déployer votre module avec votre propre fonctionnalité en utilisant l'API développeur.

Développement​

Utilisez le modèle https://github.com/OneEntry/module-example et suivez les instructions sur https://github.com/OneEntry/custom-module-deployment-guide lors du développement.

Construction​

  • Créez un nouveau jeton de projet avec les droits read-registry. Il est recommandé de créer un jeton à durée indéterminée.
  • Créez un nouveau tag dans git (à chaque nouvelle version du module)
  • Attendez la fin du pipeline, après quoi l'image docker du module sera téléchargée dans le registre et disponible pour le déploiement.

Déploiement​

Allez dans les paramètres, onglet Modules, et faites défiler vers le bas jusqu'à la carte Créer un nouveau module.

  • Indiquez le nom (Name) et le marqueur (Marker) du module.

  • Dans le bloc Image Docker, dans le champ Image URL, indiquez le chemin vers l'image docker précédemment construite au format host/user/repo:version.

    Où host - le nom de l'hôte du registre docker, par exemple registry.gitlab.com,

    user - l'id de l'utilisateur ou de l'organisation, par exemple oneentry,

    repo - le nom du dépôt, par exemple my-module

    version - le nom du tag (version du module)

    Exemple complet : registry.gitlab.com/oneentry/my-module:v1.0.0

  • Dans le champ Registry host, indiquez l'hôte du registre docker, qui répète la partie host du chemin vers l'image docker, par exemple registry.gitlab.com.

  • Dans les champs Token ID et Token, indiquez le nom du jeton (indiqué lors de la création) et le jeton lui-même (qui commence généralement par glpat) respectivement.

  • Sous les champs Token ID et Token, cliquez sur Ajouter et indiquez les variables d'environnement requises pour le fonctionnement du module (peuvent être modifiées ultérieurement).

Cliquez sur Créer.

Après la création du module, il apparaîtra dans le tableau. Vous pouvez maintenant le déployer en cliquant sur Déployer (cela prendra un certain temps).

Statuts du conteneur​

  • Non déployé — le module a été créé, mais n'a pas encore été déployé.
  • Déploiement — le module est en cours de déploiement.
  • En cours d'exécution — le module fonctionne.
  • Suspendu — le module est déployé, mais n'est pas en cours d'exécution.
  • Erreur — la dernière action avec le module a échoué, voir la section «Débogage des erreurs».

Tant qu'une action est en cours avec le module, la colonne de statut affiche son avancement : Déploiement, Suspension, Reprise ou Suppression. Un statut qui n'a pas pu être récupéré est affiché comme Inconnu. Les statuts sont mis à jour automatiquement.

Actions sur le module​

  • Suspendre Suspendre le module. Arrête le processus, mais les données restent.
  • Reprendre Reprendre le fonctionnement du module. Lance le processus.
  • Supprimer Supprimer le module. Arrête le processus, supprime le conteneur et les données associées.

Débogage des erreurs​

Si le module n'a pas pu être déployé ou si le processus échoue systématiquement, le module obtiendra le statut Erreur, et une icône apparaîtra dans la ligne Erreur avec l'info-bulle «La dernière action avec ce module a échoué». Un module avec le statut Erreur, tout comme un module non déployé, a à nouveau le bouton de déploiement Déployer : corrigez la cause et déployez à nouveau le module.

Problèmes possibles​

  • Image docker mal configurée.
  • Jeton invalide ou incorrect.
  • Le processus échoue. Le processus interne ne doit pas échouer tant que le module est actif.

Journalisation​

D'autres problèmes avec le module peuvent être débogués à l'aide des journaux affichés dans les paramètres du module.

Mise à jour/édition du module​

Si vous devez déployer une nouvelle version du module ou modifier les variables d'environnement, vous devez mettre à jour le tag et/ou les variables dans les paramètres. Le processus sera redémarré.