GitLab 11.1: publication du panneau de contrôle de sécurité et de la recherche avancée

image


Dans GitLab 11.1, nous avons amélioré l'affichage de la sécurité à travers des panneaux, amélioré la recherche par code pour la réception en temps opportun des informations nécessaires, apporté des modifications à l'UX et bien plus encore.


Visualisation améliorée pour l'équipe de sécurité


GitLab est conçu pour fonctionner ensemble. La mission de GitLab est que tout le monde peut contribuer, nous avons donc créé un outil qui permet aux spécialistes de la gestion des produits, du développement, des tests, du fonctionnement et de la sécurité de l'information de travailler ensemble. C'est pourquoi nous intégrons à la fois le développement de logiciels et DevOps dans une seule application. Et nous pensons que la demande de fusion est l'un des outils de collaboration les plus puissants.


Mais parfois, une demande de fusion n'est pas tout Ă  fait ce dont vous avez besoin.


Les demandes de fusion sont bonnes lorsque vous devez voir comment les modifications individuelles affectent l'application. Mais que faire si vous avez besoin d'un niveau de performances supérieur? Parfois, vous devez examiner tous les problèmes de sécurité actuels qui affectent la branche dans son ensemble. Un nouveau panneau de contrôle de sécurité vous permet de le faire. Vous pouvez hiérarchiser le tableau de bord pour vous concentrer sur les vulnérabilités les plus importantes. Désormais, il n'est plus nécessaire de vérifier les rapports sur toutes les demandes de fusion, le tout au même endroit. Nous pensons que cela sera particulièrement utile pour ceux qui sont responsables de la sécurité de l'information. GitLab dispose désormais d'un outil spécial pour les aider à faire leur travail. Travailler avec le tableau de bord de sécurité permet aux équipes de sécurité de gérer la priorité des vulnérabilités critiques, d'éliminer certaines et d'ignorer d'autres (lorsqu'elles ne sont pas essentielles pour un projet donné), de sorte qu'en abaissant la priorité, elles ne seront pas répétées dans les rapports.


Recherche accélérée


La recherche de code fiable est l'une des valeurs fondamentales pour le développeur. Si vous êtes un nouveau développeur dans une équipe, ou si vous essayez de comprendre une grande partie du code précédent avant d'ajouter une nouvelle fonctionnalité, la recherche est un bon moyen de connaître les domaines clés.


La recherche par code était disponible auparavant, mais nous l'avons améliorée. La syntaxe de recherche avancée vous permet d'accélérer la recherche des fichiers nécessaires grâce à la possibilité de filtrer par nom de fichier, chemin d'accès et extension.


Et encore plus!


En plus des nouvelles fonctionnalités de sécurité, nous avons également amélioré l'UX: refait le widget de demande de fusion , ajouté le panneau de demande de fusion à l'IDE Web et révisé les statistiques de dépôt dans GitLab et au-delà.


Lisez la suite pour connaître toutes les modifications de GitLab 11.1


Nous vous invitons à nos réunions


Badge GitLab MVP


MVP du mois - Jasper Maes


La contribution de Jasper a été et reste une partie intégrante des efforts de mise à niveau de GitLab vers Rails 5 au cours des derniers mois.


Merci, Jasper, d'avoir constamment amélioré GitLab! En remerciement, nous vous avons envoyé des souvenirs de marque, dont un sweat-shirt, des chaussettes faites à la main et du tanuki.


Nouvelles fonctionnalités clés de GitLab 11.1


Panneau de contrôle de sécurité du projet (ULTIMATE, GOLD)


Les professionnels de la sécurité se concentrent sur la prévention des menaces qui pourraient nuire à l'application. Même une fois le code téléchargé dans une branche stable ou déjà publié, ces personnes doivent suivre et résoudre les problèmes pouvant affecter la sécurité.


Pour leur faciliter la vie, nous avons ajouté un panneau de contrôle de sécurité dans GitLab 11.1 qui signale l'état de sécurité actuel de la branche principale de chaque projet. Cela permet à l'équipe de sécurité de déterminer facilement que quelque chose s'est mal passé et de comprendre si quelque chose doit être fait. Le panneau se trouve dans le menu Projet . Le panneau est interactif, il peut être utilisé pour éliminer les erreurs faussement positives ou créer des solutions aux vulnérabilités existantes.


Tableau de bord de sécurité pour les projets


Documentation du panneau de commande de sécurité


Filtres pour la recherche avancée: nom de fichier et chemin d'accès (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Étant donné que les équipes créent constamment de grandes quantités de code, sa recherche n'est pas une tâche facile. Dans ce cas, il est essentiel de disposer d'un outil pour gérer le code et, en particulier, le rechercher.


Cette version introduit de nouvelles options de syntaxe avancées qui vous permettent de rechercher par code à l'aide de trois filtres. Vous pouvez maintenant rechercher par nom de fichier (nom de fichier ), chemin d'accès ( chemin d'accès ) et même par extension ( extension de fichier ) - et le résultat de la recherche sera plus précis. Ces filtres sont disponibles à la fois dans l'interface Web et dans l'API.


Pour le plan Core, ces filtres sont disponibles au niveau du projet.


Pour Starter et au-dessus: si vous utilisez Elasticsearch , les filtres sont également disponibles au niveau du groupe et au niveau global.


Dans tous les plans d'abonnement GitLab.com, les filtres ne fonctionnent qu'au niveau du projet, car Elasticsearch n'est pas encore là. Cependant, nous travaillons sur la mise en œuvre d'Elasticsearch sur GitLab.com .


Documentation sur la syntaxe de recherche avancée


Filtres de nom de fichier et de chemin pour la recherche avancée de code


Rapports sur l'analyse des conteneurs et les pipelines DAST (ULTIMATE, GOLD)


Les rapports de sécurité dans les demandes de fusion sont très utiles pour détecter de nouveaux problèmes dans le nouveau code, même si le code n'a pas encore atteint la branche principale. Mais comme des vulnérabilités peuvent apparaître avant la création de la demande de fusion, les développeurs doivent parfois connaître l'état de sécurité d'une branche particulière à un moment donné.


Dans GitLab 11.1, l'ensemble des rapports de sécurité affichés sous la forme d'un pipeline est complété par des tests de sécurité d'application dynamique (DAST) et une analyse des conteneurs. Il vous suffit de consulter l'onglet Reports pour obtenir toutes les informations de sécurité et prendre les mesures appropriées.


Documentation des rapports de sécurité


Analyse des conteneurs et rapports DAST au niveau du pipeline


Prise en charge SAST pour Node.js (ULTIMATE, GOLD)


Les tests de sécurité des applications statiques (SAST) vous permettent de détecter les vulnérabilités dans le code dès que les modifications atteignent le référentiel. Ces informations sont disponibles dans la demande de fusion, ce qui vous permet de corriger les vulnérabilités trouvées. Maintenant, ils n'entreront pas en production, car le «décalage à gauche» est réalisé automatiquement.


Dans GitLab 11.1, nous avons ajouté Node.js à la liste des langages SAST pris en charge. Maintenant, vous n'avez plus besoin de modifier les paramètres de vos projets sur Node.js, la nouvelle langue est détectée automatiquement et testée par sast .


Documentation SAST


Prise en charge SAST pour Node.js


Refonte de la section d'informations et de la section convoyeur pour le widget de demande de fusion (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Dans GitLab, les demandes de fusion en général et le widget de demande de fusion en particulier sont une fonctionnalité puissante qui affiche de nombreuses informations et fonctions utiles. Nous évaluons constamment la conception et voulons être sûrs que les informations sont utiles et faciles à lire.


Dans cette version, nous avons finalisé la conception de la section informations et de la section convoyeurs. Nous les avons séparés du reste du contenu du widget pour une meilleure perception.


Documentation de demande de fusion


Fusionner les informations du widget de demande et la refonte des sections de pipeline


Menu déroulant Groupes de navigation (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Le basculement entre les groupes devrait être une tâche simple sans interrompre votre flux de travail. Pour faciliter cette étape, nous avons ajouté un menu déroulant pour les groupes à la barre de navigation supérieure pour un accès rapide. Cela vous évite d'avoir à basculer sur un autre écran lorsque vous travaillez pour trouver un groupe dont le nom est difficile à retenir. Comme le menu Projets, les groupes afficheront les groupes fréquemment visités.


Documentation de groupe


Liste déroulante des groupes dans la navigation


Afficher la description de la demande de fusion dans Web IDE (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Lorsque vous travaillez sur une demande de fusion ou que vous l'examinez, il est pratique de revenir à sa description pour savoir dans quel but et dans quel contexte les modifications ont été apportées.


À partir de cette version, au lieu de changer d'onglet, vous pouvez simplement ouvrir la description de la demande de fusion à côté du code directement dans l'IDE Web.


Documentation Web IDE


Afficher la description de la demande de fusion dans l'IDE Web


Autres améliorations dans GitLab 11.1


Refonte de la page d'analyse pour la contribution au développement (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)


Nous avons repensé la page d'analyse pour le développement afin d'améliorer la lisibilité et la cohérence de l'interface utilisateur. Nous nous sommes concentrés sur l'activation de cette page pour accueillir un grand nombre de développeurs afin de mieux comprendre comment les contributeurs contribuent.


Refonte de l'analyse des contributions


Documentation sur l'analyse des contributions au développement


Refonte des pages de liste des jalons (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Dans cette version, nous avons redessiné la liste des jalons, y compris les pages avec des listes de projets, groupes et tableaux, par souci d'uniformité dans l'interface.


Il s'agit de la première étape de la simplification de la conception. Nous le rendons plus beau et plus pratique, ce qui permettra au final aux équipes de mieux gérer leurs jalons.


Refonte des pages de la liste des jalons


Documentation sur les jalons


Sous-groupes GitLab dans le panneau de développement de Jira (PREMIUM, ULTIMATE, SILVER, GOLD)


Les équipes qui utilisent Jira avec GitLab ont la possibilité de s'intégrer au panneau de développement de Jira. Cela permet aux utilisateurs de Jira de visualiser les demandes de fusion, les branches et les validations de GitLab dans le panneau de développement de droite dans la tâche Jira. En particulier, vous configurez l'intégration en pointant le serveur Jira vers un groupe de niveau supérieur dans GitLab; Maintenant, pour ce serveur, tous les projets du groupe seront visibles.


Avec cette version, nous élargissons la portée afin que tous les projets de ce groupe de niveau supérieur, ainsi que les sous-groupes imbriqués, soient visibles pour le serveur Jira. Cela étend les options d'intégration, vous permettant de structurer vos projets de manière plus flexible dans la hiérarchie du côté de GitLab, sans changer la gestion des tâches du côté de Jira.


Sous-groupes GitLab dans le panneau de développement Jira


Documentation d'intégration du panneau de développement Jira avec GitLab


Démarque aromatisée GitLab avec CommonMark (NOYAU, DEMARREUR, PREMIUM, ULTIME, GRATUIT, BRONZE, ARGENT, OR)


GitLab Flavoured Markdown (GFM) permet aux utilisateurs de formater et de styliser facilement et rapidement du texte dans GitLab, y compris les tâches, les demandes de fusion, les épopées, les commentaires et d'autres endroits. Jusqu'à présent, GitLab pour GFM a utilisé Redcarpet, une ancienne implémentation de Markdown. Cela a conduit à un certain nombre de problèmes .


À partir de cette version, dans de nouveaux fichiers, GFM est rendu à l'aide de CommonMark moderne; et les fichiers Markdown créés précédemment restent sur Redcarpet. Ceci est décrit plus en détail dans la documentation Markdown .


En plus de résoudre la plupart des problèmes mentionnés, CommonMark a de meilleures performances. De plus, GitHub utilise également CommonMark; ainsi, les utilisateurs de GitHub qui sont passés à GitLab utiliseront désormais le même Markdown. À l'avenir, lorsque les fichiers du référentiel Markdown seront rendus dans CommonMark , l'importation de projets de GitHub vers GitLab traitera les fichiers Markdown exactement de la même manière.


Merci à blackst0ne pour cette fonctionnalité!


Démarque GitLab Flavored avec CommonMark


Documentation de démarque aromatisée GitLab


Action rapide pour traduire des tâches en confidentialité (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Vous pouvez maintenant rapidement rendre la tâche confidentielle directement depuis le champ de commentaire; Cela vous permettra d'écrire un commentaire et de transférer la tâche en toute confidentialité, sans être distrait du clavier.


Merci Ă  Jan Beckmann pour sa contribution!


Action rapide en cas de problème confidentiel


Documentation d'action rapide


Saisie automatique dans les épopées et tags dans les épopées (ULTIMATE, GOLD)


Dans cette version, nous avons amélioré l'auto-complétion épique. En particulier, lorsque vous décrivez ou commentez une épopée, vous pouvez entrer le signe & , et GitLab recherchera automatiquement les épopées dans ce groupe, et le signe ~ déclenchera une recherche par étiquette, tout comme il fonctionne déjà dans les tâches ( # ) et fusionne- Demandes ( ! ).


Épopées de saisie semi-automatique et étiquettes dans les épopées


Documentation épique


Refactoring des commentaires sur les demandes de fusion sur Vue.js (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Depuis 2016, lorsque GitLab a décidé de passer à Vue.js , nous l'avons utilisé non seulement pour créer de nouvelles fonctionnalités, mais aussi pour refactoriser celles existantes afin d'améliorer l'interface et d'augmenter la productivité.


Dans cette version, nous avons réécrit l'interface de commentaire de demande de fusion. Cela nous donne plus de contrôle sur les performances - nous en parlerons dans les prochaines versions. Et cela aidera également à créer de nouvelles fonctionnalités en utilisant Vue.js. plus facilement et plus efficacement. Par exemple, nous travaillons déjà sur les commentaires par lots .


Jetez un œil au travail en cours avec cette interface - en plus de ce que nous avons déjà ajouté à cette version.


Commentaires de demande de fusion Refactor Vue.js


Documentation de demande de fusion


API pour personnaliser les tableaux de tâches (STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)


Plus tôt, dans GitLab 10.2, nous avons publié des tableaux de tâches personnalisés qui permettent aux équipes d'enregistrer la configuration du tableau de tâches. Cette fonctionnalité est désormais disponible via l'API GitLab.


Cela permet aux équipes de créer leurs propres workflows, y compris automatiques. Par exemple, si vous souhaitez utiliser le même tableau des tâches pour chaque itération, vous pouvez maintenant modifier le jalon de configuration via l'API et l'automatiser avec un script externe entre les itérations.


Documentation API pour personnaliser les tableaux de tâches


L'état verrouillé des demandes de fusion a été ajouté à l'API (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Dans cette version, nous avons ajouté un état verrouillé pour les demandes de fusion dans l'API GitLab - auparavant, il s'agissait d'un état interne qui n'était pas accessible via l'API. La demande de fusion est dans cet état verrouillé tandis que la branche source fusionne avec la cible.


En ouvrant l'accès à cet état via l'API, nous permettons aux systèmes externes d'accéder de manière fiable à toutes les demandes de fusion, même celles qui se trouvent dans cet état verrouillé transitoire.


Documentation de l'API de demande de fusion


Transfert de projets entre des espaces de noms Ă  l'aide de l'API (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Dans les paramètres du projet, les propriétaires peuvent transférer un projet existant vers un autre espace de noms (vers un autre utilisateur ou groupe). Cela vous permet d'organiser de manière flexible des projets dans des espaces de noms personnels et de groupe.


Dans cette version, nous ajoutons l'accès à ces paramètres via notre API de projet, vous permettant de déplacer plusieurs référentiels à la fois en une seule étape.


Merci à Aram Visser pour cette fonctionnalité!


Documentation de migration de projet


Initialisation de README lors de la création d'un projet (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Chez GitLab, nous pensons que chacun peut contribuer au développement. Une étape importante vers cet objectif est de rendre la création d'un nouveau projet sur GitLab aussi simple et intuitive que possible.


Dans la version 11.1, nous introduisons un nouveau paramètre qui vous permet d'initialiser le référentiel en ajoutant un fichier README lors de la création d'un nouveau projet. Si cette fonctionnalité est activée, le référentiel de projet est initialisé avec la branche master par défaut, qui peut être immédiatement clonée. Le fichier README généré contient le nom et la description du projet.


Initialiser README lors de la création d'un projet


Documentation de création de projet


Amélioration de l'expérience utilisateur lors de la configuration des clés SSH (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


En utilisant GitLab, n'importe qui devrait pouvoir contribuer et pousser dans des projets sans avoir besoin d'apprendre des choses complexes supplémentaires. En nous concentrant sur cet idéal, nous avons constaté que la configuration des clés SSH, la condition de base pour commencer, reste trop compliquée.


Dans cette version, nous améliorons l'expérience utilisateur avec la configuration des clés SSH (élément de configuration des clés SSH) et la documentation connexe.


Expérience utilisateur améliorée sur la configuration des clés SSH


Documentation des clés SSH dans GitLab


Engagement amélioré dans Web IDE (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Dans cette version, nous avons simplifié les validations dans l'IDE Web en ajoutant un pré-remplissage à la description de la validation et la possibilité d'ajouter une validation ( Stage & Commit ) en un seul clic. Désormais, lors de la modification d'une branche qui n'est pas accessible en écriture (par exemple, la branche principale), l'IDE Web proposera par défaut de créer une nouvelle branche et de préremplir son nom de manière significative, afin que vous puissiez toujours créer une validation en un clic.


Auparavant, la description de la validation n'était pas préremplie et le bouton de création d'une validation dans de tels cas était bloqué. Cela a ralenti les changements et a laissé l'utilisateur perplexe: «Pourquoi ne puis-je pas m'engager?»


Amélioration de la mise en scène et de la validation de l'IDE Web


Documentation Web IDE


Contribuer Ă  GitLab (CORE, FREE)


GitLab est fort avec sa communauté - et rien ne nous inspire plus que l'apparition de nouvelles personnes impliquées dans le développement!


Dans cette version, nous avons facilité la recherche de la page "Contribuer à GitLab" pour les utilisateurs de GitLab Core et GitLab.com: nous avons ajouté un lien pratique qui est disponible directement dans le menu du profil utilisateur.


Lien «Contribuer à GitLab»


Consultez notre guide du contributeur GitLab pour plus de détails.


Possibilité d'annuler l'authentification à deux facteurs dans SAML (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Dans de nombreux cas, les fournisseurs SAML prennent déjà en charge ou nécessitent même une authentification à deux facteurs pour fournir un niveau de sécurité.


À partir de GitLab 11.1, vous pouvez désactiver l'authentification à deux facteurs du côté de GitLab et la mener du côté du fournisseur SAML afin de se conformer à ses exigences. Pour ce faire, nous avons ajouté un nouveau paramètre à la configuration SAML.


Merci Roger Rüttimann pour cette fonctionnalité!


Documentation du fournisseur SAML OmniAuth


Nouvelle méthode HEAD dans le fichier API (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Notre API de fichiers vous permet d'effectuer des opérations CRUD (créer, lire, mettre à jour et supprimer) sur des fichiers stockés dans votre projet GitLab.


Avec GitLab 11.1, nous ajoutons la prise en charge de la méthode HEAD HTTP à l'API de fichier, qui vous permet de lire les métadonnées de fichier. Cette requête peut être utilisée, par exemple, pour vérifier la taille d'un fichier, afin de décider de le télécharger ou non.


Merci Ahmet Demir pour cette fonctionnalité!


Documentation du référentiel de l'API de fichiers


Conception améliorée de la page du cluster Kubernetes (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


Nous avons amélioré la conception de la page Kubernetes pour minimiser l'affichage d'informations non pertinentes lors de l'ajout d'un cluster. À cette fin, nous utilisons maintenant des onglets séparés pour chaque option.


Il s'agit de la première étape d'une série de modifications de conception pour ajouter un cluster et gérer les clusters afin de le rendre plus facile et plus intuitif.


Nous essayons de simplifier la gestion des clusters et d'en ajouter de nouveaux. La refonte de la page est la première étape du processus


Amélioration de la conception de la page du cluster Kubernetes


Documentation du cluster Kubernetes


Les métriques d'application sont désormais disponibles dans le menu Opérations (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


En ajoutant le menu Metrics aux Operations il est plus facile et plus rapide de voir les métriques de performances de votre application. Cliquer sur Métriques ouvre immédiatement le panneau de performances de votre environnement de production , si vous en avez un, et fournit également une liste déroulante pour passer à d'autres environnements.


Dans les versions précédentes, l'utilisateur devait trouver l'environnement souhaité dans le menu Environnements et cliquer sur le bouton Surveillance.
Pour passer Ă  un autre environnement, il a fallu recommencer tout ce processus.
Maintenant, vos mesures de production sont à portée de clic.


Mesures d'application désormais disponibles dans le menu Opérations


Documentation de surveillance des applications


Gestion des offres tierces (CORE, STARTER, PREMIUM, ULTIMATE)


De retour dans la version 10.8, nous avons commencé à informer les utilisateurs sur les offres de tiers qu'ils pourraient juger utiles pour le développement de leurs projets.


Il y a des moments oĂą ces phrases n'ont pas de sens - ou vous ne voulez tout simplement pas qu'elles apparaissent dans l'application. Dans GitLab 11.1, vous pouvez contrĂ´ler l'affichage des offres d'administration tierces.


Gérer les offres de tiers


Documentation de l'offre tierce


Enregistrement de l'ID utilisateur dans la sous-requĂŞte OpenID Connect (CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)


GitLab peut être utilisé comme fournisseur d'identité OpenID Connect (OIDC) pour les services externes. Cette couche est basée sur OAuth 2.0.


Dans la version précédente, nous stockions la sous-requête OIDC basée sur la version hachée de l'ID utilisateur GitLab. Cela pourrait conduire à une API potentiellement instable, car la méthode de hachage pourrait changer à l'avenir. Maintenant, en suivant la spécification OIDC, nous stockons l'ID utilisateur directement dans la sous-requête ( sub ). Pour activer la migration, la valeur précédente est toujours disponible dans la demande sub_legacy .


Documentation OpenID Connect




Des notes de version détaillées et des instructions de mise à niveau / d'installation peuvent être trouvées dans la publication anglaise originale: GitLab 11.0 publié avec Auto DevOps et License Management .


La traduction de l'anglais a été effectuée par rishavant , cattidourden , ainoneko et nick_volynkin .

Source: https://habr.com/ru/post/fr419363/


All Articles