doc-locale/fr-fr/administration/package_information/omnibus_packages.md
{{< details >}}
{{< /details >}}
Vous trouverez ci-dessous des informations de base sur les raisons pour lesquelles GitLab fournit des packages et une image Docker avec des dépendances intégrées.
Ces méthodes sont idéales pour les installations sur machines physiques et virtuelles, ainsi que pour les installations Docker simples.
Nous avons quelques objectifs essentiels avec ces packages :
GitLab est à la base un projet Ruby on Rails. Cependant, GitLab en tant qu'application complète est plus complexe et comporte plusieurs composants. Si ces composants sont absents ou mal configurés, GitLab ne fonctionne pas ou fonctionne de manière imprévisible.
La présentation de l'architecture GitLab dans la documentation de développement GitLab présente certains de ces composants et leurs interactions. Chacun de ces composants doit être configuré et maintenu à jour.
La plupart des composants ont également des dépendances externes. Par exemple, l'application Rails dépend d'un certain nombre de gems Ruby. Certaines de ces dépendances ont également leurs propres dépendances externes qui doivent être présentes sur le système d'exploitation pour qu'elles fonctionnent correctement.
De plus, GitLab a un cycle de release mensuel qui nécessite une maintenance fréquente pour rester à jour.
Tous les éléments énumérés précédemment représentent un défi pour l'utilisateur qui maintient l'installation GitLab.
Pour des applications telles que GitLab, les dépendances externes entraînent généralement les défis suivants :
Gardez à l'esprit que si une dépendance existe sur votre système d'exploitation, elle n'existe pas nécessairement sur les autres systèmes d'exploitation pris en charge.
Quelques avantages d'un package avec des dépendances intégrées :
Quelques inconvénients d'un package avec des dépendances intégrées :
La réponse peut être simplifiée ainsi : moins de maintenance requise. Au lieu de gérer plusieurs packages qui peuvent casser des fonctionnalités existantes si les versions ne sont pas compatibles, n'en gérez qu'un seul.
Plusieurs packages nécessitent une configuration correcte à plusieurs endroits. Maintenir la configuration synchronisée peut être source d'erreurs.
Si vous avez les compétences nécessaires pour maintenir toutes les dépendances actuelles et suffisamment de temps pour gérer les futures dépendances qui pourraient être introduites, les raisons précédentes pourraient ne pas être suffisantes pour vous dissuader de ne pas utiliser un package du package Linux.
Deux éléments sont à garder à l'esprit avant de s'engager dans cette voie :
Gardez à l'esprit qu'une solution non standard comme le package Linux peut être mieux adaptée lorsque l'application comporte de nombreux éléments en mouvement.
L'image Docker GitLab est basée sur le package Linux.
Étant donné que le conteneur généré à partir de cette image contient plusieurs processus, ces types de conteneurs sont également appelés « fat containers ».
Il existe des arguments pour et contre une image de ce type, mais ils sont similaires à ce qui a été mentionné précédemment :
Cette méthode est utile pour les organisations qui débutent avec les conteneurs et les ordonnanceurs, et qui ne sont peut-être pas prêtes pour une installation plus complexe. Cette méthode est une excellente introduction et fonctionne bien pour les organisations de petite taille.