Projets
Lors de l'évaluation des solutions possibles pour le nouveau Git Forge, nous avons pris en compte
Pagure et Gitlab. Basé sur une étude d'environ
Les exigences comprenaient des fonctionnalités telles que l'envoi de requêtes push via HTTPS, des moyens de restreindre l'accès aux succursales, la prise en charge des succursales privées, la séparation de l'accès pour les utilisateurs externes et internes (par exemple, pour travailler à l'élimination des vulnérabilités lors d'un embargo sur la divulgation d'informations sur le problème) , interface de familiarité, unification des sous-systèmes pour travailler avec les rapports de problèmes, le code, la documentation et la planification de nouvelles fonctionnalités, disponibilité d'outils d'intégration avec l'IDE, prise en charge des flux de travail standard.
Parmi les fonctionnalités de GitLab qui ont finalement influencé la décision de choisir cette plateforme, on a mentionné la prise en charge de sous-groupes avec un accès sélectif aux référentiels, la possibilité d'utiliser un bot pour les fusions automatiques (CentOS Stream est requis pour maintenir les packages avec le noyau), le présence d'outils intégrés pour planifier le développement, possibilité d'utiliser un service SAAS prêt à l'emploi avec un niveau de disponibilité garanti (libérera des ressources pour la maintenance de l'infrastructure du serveur).
La décision est déjà
L'intention d'utiliser le service SAAS (application as a service) fourni par GitLab, au lieu de déployer GitLab sur ses serveurs, a également été critiquée, ce qui rend le service hors de contrôle (par exemple, il est impossible d'être sûr que toutes les vulnérabilités de le système est rapidement éliminé,
Pendant ce temps, GitLab
Les fonctions suivantes ont été transférées à la gamme libre :
- Problème connexe en pièce jointe ;
- Problème d'exportation de GitLab vers CSV ;
- Un mode de planification, d'organisation et de visualisation du processus de développement de fonctionnalités ou de versions individuelles ;
- Service intégré pour connecter les participants au projet avec des tiers par courrier électronique.
- Terminal Web pour l'IDE Web ;
- Possibilité de synchroniser des fichiers pour tester les changements de code dans le terminal Web ;
- Concevoir des contrôles qui vous permettent de télécharger des maquettes et des ressources sur Issue, en utilisant Issue comme point d'accès unique à tout ce dont vous avez besoin pour développer une nouvelle fonctionnalité ;
- Rapports sur la qualité du code ;
- Prise en charge des gestionnaires de packages Conan (C/C++), Maven (Java), NPM (node.js) et NuGet (.NET) ;
- Prise en charge des déploiements Canary, permettant d'installer une nouvelle version de l'application sur une petite partie des systèmes ;
- Distributions incrémentielles, permettant aux nouvelles versions d'être livrées dans un premier temps uniquement à un petit nombre de systèmes, augmentant progressivement la couverture jusqu'à 100 % ;
- Des drapeaux d'activation de fonctionnalités, qui permettent de livrer le projet dans différentes éditions, activant dynamiquement certaines fonctionnalités ;
- Mode aperçu du déploiement, qui vous permet d'évaluer l'état de chaque environnement d'intégration continue basé sur Kubernetes ;
- Prise en charge de la définition de plusieurs clusters Kubernetes dans le configurateur (par exemple, vous pouvez utiliser des clusters Kubernetes distincts pour les implémentations d'essai et les charges de travail) ;
- Prise en charge de la définition de politiques de sécurité du réseau de conteneurs qui vous permettent de limiter l'accès entre les pods Kubernetes.
De plus, on peut noter
Les détails sur la vulnérabilité seront divulgués après 30 jours.
Source: opennet.ru