GitLab 11.3 publié avec le référentiel Maven et les environnements sécurisés

GitLab 11.3 prend en charge les référentiels Maven, les propriétaires de code, les environnements sécurisés et les prévisions épiques. Ces fonctionnalités aident à automatiser les contrôles d'environnement et de code, tout en offrant une valeur ajoutée aux développeurs Java.


image


Dépôt Maven


Nous avons étendu la prise en charge des projets et des développeurs Java en créant des référentiels Maven directement dans GitLab. Cela fournit aux développeurs Java un moyen normalisé et sécurisé de partager le contrôle de version dans les bibliothèques Maven et de gagner du temps en réutilisant ces bibliothèques pour différents projets. Cette fonctionnalité est disponible dans GitLab Premium.


Propriétaires de code et environnements sécurisés


GitLab Core prend désormais en charge l'affectation des propriétaires de code aux fichiers pour indiquer les membres de l'équipe appropriés responsables du code. Cette fonctionnalité nous prépare aux futures versions qui utiliseront des contrôles internes au niveau du code.
Les opérateurs disponibles dans GitLab Premium peuvent également utiliser des environnements sécurisés pour définir des autorisations qui déterminent qui peut déployer le code dans des environnements de production. Cela réduit considérablement le risque que la mauvaise personne fasse ce qu'elle ne devrait pas faire et augmente la sécurité globale de l'environnement.


Prédiction épique


La nouvelle fonctionnalité de gestion de portefeuille de GitLab Ultimate peut prédire automatiquement les dates de début et de fin de l'épopée en fonction de ses dates de sortie. Grâce à cette amélioration, les gestionnaires de portefeuille seront en mesure de comparer leurs dates de début et de fin prévues avec le travail qui est prévu à travers des jalons pour avoir une idée des éventuels dysfonctionnements dans le calendrier épique. Cela permettra des décisions plus rapides et meilleures sur ce qui peut être fait et quand les plans doivent être ajustés.


Tout le monde peut contribuer.


Beaucoup de ces améliorations sont des contributions de la vaste communauté GitLab. Nous attendons avec impatience vos commentaires et suggestions sur ces nouvelles fonctionnalités. Ensemble, nous sommes le pouvoir!
Faites-nous savoir ce que vous pensez dans les commentaires ci-dessous. Qu'attendez-vous de cette version? Que pouvons-nous améliorer d'autre?


Principales fonctionnalités publiées dans GitLab 11.3


Dépôt Maven


(disponible en version: Premium, Ultimate, Silver, Gold)


Il est important pour toute organisation de développeurs de disposer d'un moyen simple et sécurisé de gérer les dépendances. Les outils de gestion de packages, tels que les développeurs Maven pour Java, fournissent un moyen standardisé de partager et de contrôler la version de ces bibliothèques entre projets.


Dans GitLab 11.3, nous proposons fièrement des référentiels Maven intégrés directement dans GitLab. Les développeurs de services de niveau inférieur peuvent désormais publier des bibliothèques packagées dans le référentiel Maven de leur projet. Ils peuvent ensuite partager un simple morceau de XML avec d'autres équipes qui souhaitent utiliser cette bibliothèque, et Maven et GitLab feront le reste.


Voici un exemple de projet qui construit et synchronise les données du référentiel local jusqu'au référentiel GitLab Maven. Tout est simple!


imagehttps: //about.gitlab.com/images/11_3/maven.png


Terminaux Web interactifs pour les coureurs Shell et Kubernetes


(disponible dans toutes les versions)


Les travaux CI / CD sont exécutés par des exécutants en fonction de la configuration fournie par les utilisateurs dans leur définition de pipeline. Cependant, le lancement n'est pas interactif et s'il échoue, les utilisateurs ne peuvent pas fouiller dans les détails pour déterminer la source possible du problème. Les terminaux Web interactifs vous permettent de vous connecter à un travail en cours ou terminé et d'exécuter manuellement des commandes pour mieux comprendre ce qui se passe dans le système.


image


.gitlab-ci.yml les .gitlab-ci.yml dans .gitlab-ci.yml pour la réutilisation des scripts


(disponible dans les versions: Starter, Premium, Ultimate, Bronze, Silver, Gold)


La réutilisation du code de processus CI / CD est une bonne pratique qui permet d'assurer la cohérence du logiciel et de minimiser le nombre de scripts par tâche nécessaires pour écrire et maintenir. Nous proposons désormais une approche flexible et efficace pour réutiliser du code dans des modèles à l'aide de mots clés YAML extend.


image


Inclure des modules complémentaires privés dans le graphique des modules complémentaires utilisateur


(disponible dans toutes les versions)


Chez GitLab, nous aimons l'open source! Mais il arrive que vous travailliez sur un projet privé qui, pour l'instant, ne souhaite pas être partagé, ou est limité par un accord de confidentialité. Dans tous les cas, GitLab vous couvrira.


Dans ce numéro, nous offrons la possibilité d'inclure des modules complémentaires privés dans le graphique des modules complémentaires de votre profil. Les ajouts aux projets privés sont désormais affichés dans la colonne des ajouts et les ajouts du jour en cours, si vous activez cette option pour votre profil. Ainsi, le travail actif sur les projets GitLab privés est affiché délicatement, sans révéler aucun détail secret.


image
Merci George Tsiolis pour votre contribution!


Aperçu du projet mis à jour


(disponible dans toutes les versions)


Itérer sur notre interface utilisateur est l'endroit où nous visons constamment le meilleur.


Dans GitLab 11.3, nous mettons à jour l'interface utilisateur de la page de présentation du projet pour vous permettre d'étudier plus facilement le projet. Après avoir amélioré la structure générale des informations de cette page, nous avons aligné à gauche la section supérieure de l'en-tête et optimisé l'espacement vertical afin que vous puissiez visualiser rapidement le projet et son contenu.


image


Environnements sécurisés


(disponible en versions: Premium, Ultimate, Silver, Gold)


Les opérateurs ont souvent la délicate tâche de protéger l'environnement dans lequel nous mettons en œuvre le code au quotidien. La tâche devient particulièrement importante lors du déploiement de code dans un environnement de production.


Avec un environnement sécurisé, les opérateurs ont un contrôle total sur la personne, le groupe ou le compte autorisé à injecter du code dans un environnement particulier. Cela offre une protection et une sécurité supplémentaires.


image


Propriétaires de code


(disponible dans les versions: Starter, Premium, Ultimate, Bronze, Silver, Gold)


Une révision du code est nécessaire dans chaque projet réussi, mais qui suit les changements n'est pas toujours clair. GitLab prend désormais en charge l'attribution de propriétaires de code aux fichiers, en spécifiant les membres de l'équipe responsables du code dans votre projet.


Les propriétaires de code sont attribués à l'aide du fichier CODEOWNERS , un format similaire à [gitattributes] (https://git-scm.com/docs/gitattributes) , et les informations de validation sont répertoriées ci-dessous. Ils sont visibles lors de la visualisation d'un fichier dans GitLab.


Dans les versions ultérieures, les propriétaires de code seront intégrés au flux de travail de demande du programme de fusion pour proposer des approbateurs , nommer des approbateurs et appliquer les propriétaires de code .


image


Prévisions épiques avec dates clés intégrées


(disponible dans les versions: Ultimate, Gold)


Avant cette version, vous pouviez définir des valeurs fixes pour la date de début planifiée et la date de fin épique planifiée. Ceci est utile pour la planification de haut niveau et le suivi épique. Cependant, puisque les thèmes sont attachés à l'épopée et que les thèmes ont de véritables jalons, il serait utile que les dates épiques reflètent ces dates.
Avec cette version, vous pouvez facilement passer d'une valeur fixe pour l'une des dates à une valeur dynamique appelée From milestones . Pour la date de début prévue de cette valeur dynamique, la date de début la plus ancienne de toutes les étapes associées aux thèmes épiques sera utilisée. Il est vraiment dynamique, car il changera si des sujets sont ajoutés ou supprimés, si des jalons sont définis ou supprimés (pour ces sujets), ou si les dates de début de ces étapes sont modifiées. La version dynamique de la date de fin épique prévue est similaire.


Fonction utile si vous souhaitez passer en douceur d'une analyse descendante de haut niveau à une analyse ascendante de niveau micro. Voir le programme épique publié il y a quelques semaines pour plus de détails.


image


Autres améliorations dans GitLab 11.3


Configuration des notifications d'événements épiques


(disponible dans les versions: Ultimate, Gold)


Dans la version précédente de la nouvelle épopée, nous avons notifié par e-mail les utilisateurs qui configuraient des notifications de groupe sur Watch . Dans cette version, nous ajoutons plus de préférences utilisateur. Vous pouvez maintenant configurer ce déclencheur d'événement pour qu'il soit activé / désactivé à l'aide du niveau d'alerte Custom avec d'autres déclencheurs.


image


Ajout rapide de thèmes à l'épopée (à partir des thèmes)


(disponible dans les versions: Ultimate, Gold)


L'ajout d'un thème à une épopée (ou la suppression d'un thème déjà attaché) se fait facilement directement depuis la page épique. Ceci est utile lorsque vous travaillez déjà en épopée.


Mais il arrive que vous travailliez sur un sujet, sachant que vous devez l'attacher à une épopée bien connue existante. Vous pouvez maintenant le faire avec une simple action rapide sur la page du thème en collant l'URL épique. Dans une future version, vous pouvez même effectuer une recherche épique grâce à une action rapide à l'aide de la saisie semi-automatique .


De plus, une autre action rapide avec le thème vous permettra de le supprimer d'une épopée déjà jointe.


image


Autoriser l'auto-approbation de la demande de fusion


(disponible dans les versions: Starter, Premium, Ultimate, Bronze, Silver, Gold)


L'utilisateur n'a pas besoin d'être l'auteur des modifications pour créer une demande de fusion, et lorsqu'il est ouvert, d'autres utilisateurs peuvent ajouter des modifications supplémentaires à la demande. Désormais, les propriétaires peuvent activer l'auto-approbation des demandes de fusion à partir des paramètres du projet.


Il était précédemment supposé que l'utilisateur qui avait ouvert la demande de fusion avait implicitement approuvé la demande de fusion et était donc exclu de l'instruction de demande de fusion. Il existe de nombreuses situations où ce n'est pas le cas. L'autorisation d'auto-approbation supprime cette hypothèse.


Afficher les langues du référentiel dans l'aperçu du projet


(disponible dans les versions: Core, Starter, Premium, Ultimate, Free, Bronze, Silver, Gold)


Les langages de code qui composent le référentiel sont des informations pertinentes lors de la découverte des projets GitLab.


Dans ce numéro, nous ajoutons un panneau de langages de code à l'aperçu du projet, montrant toutes les langues pertinentes qui composent le référentiel, y compris leur nombre relatif.


image


Modèles de fichiers personnalisés pour les instances autogérées


(disponible en versions: Premium, Ultimate)


Les modèles de .gitignore LICENSE , .gitignore , Dockerfile et .gitlab-ci.yml facilitent l'ajout de ces fichiers partagés aux projets. Des modèles de fichiers personnalisés peuvent désormais être ajoutés aux instances autogérées de GitLab en sélectionnant un référentiel de modèles générique contenant vos modèles.


Les modèles personnalisés sont utiles lorsque les modèles fournis par GitLab sont trop universels, comme une licence utilisateur qui doit être utilisée pour chaque projet dans l'entreprise, ou un Dockerfile complexe qui doit être utilisé pour chaque microservice.


Merci à Daniel Barker d' avoir ajouté des modèles de licence personnalisés .


Modèles de fichiers Web IDE (environnement de développement intégré Web)


(disponible dans toutes les versions)


Les modèles de fichiers pour .gitignore , .gitignore , Dockerfile et .gitlab-ci.yml facilitent l'ajout de ces fichiers partagés au projet, et maintenant ils peuvent être utilisés dans l'IDE Web. Les modèles de fichiers dans Web IDE facilitent la création d'un nouveau projet dans Web IDE et aident également à maintenir ces fichiers importants à jour.


image


Nommez le projet lors de la création d'un nouveau projet


(disponible dans toutes les versions)


Pour ajouter un nom de projet à un projet GitLab nouvellement créé, il fallait auparavant entrer dans les paramètres du projet et réécrire le nom du projet dans un format qui peut être traité au format URL.


Dans GitLab version 11.3, nous avons ajouté le champ «Nom du projet» au formulaire «Créer un projet». De plus, le nom du projet dans un format compatible URL dans la nouvelle version est automatiquement généré à partir du nom du projet, tandis que vous pouvez toujours modifier ce champ. Cette amélioration accélère et simplifie le processus de création d'un nouveau projet.


image


Stockage des téléchargements Wiki dans un référentiel Wiki


(disponible dans toutes les versions)


Les images téléchargées sur Wiki via l'éditeur de page Wiki sont désormais stockées dans le référentiel Git. Cela signifie que les images seront affichées lors de la prévisualisation locale des pages Wiki à l'aide de Gollum .
Dans les versions précédentes, les images étaient stockées dans le répertoire de téléchargement du projet et les pièces jointes étaient téléchargées dans les rapports de problèmes et les demandes de fusion. Cela a empêché les pages Wiki de prévisualiser localement ou de passer à un autre référentiel Git.


Prise en charge SAST pour Groovy


(disponible dans les versions: Ultimate, Gold)


Le test de sécurité des applications statiques (SAST) est chargé de trouver les vulnérabilités dans votre code source immédiatement après son placement dans le référentiel, d'identifier les modèles connus et les erreurs courantes qui peuvent provoquer une faille de sécurité dans l'application terminée. C'est pour cette raison qu'un soutien individuel est requis pour chaque langue individuelle.


Dans GitLab 11.3, nous introduisons Groovy dans la liste des langues que GitLab prend en charge SAST. La nouvelle version détecte automatiquement les projets utilisant cette langue, et vous n'avez pas besoin d'apporter de modifications à votre code ou pipeline pour activer cette fonction. Auto DevOps (intégration automatique du développement et de l'exploitation) prend également en charge cette fonctionnalité dans le cadre de sa configuration standard.


Filtrer les notifications push de webhook par branche


(disponible dans toutes les versions)


Les webhooks pour les notifications push facilitent la notification automatique aux services externes des nouveaux correctifs de transaction, mais les différentes branches ont souvent des significations différentes. Les notifications push dans la nouvelle version peuvent être filtrées par branches afin que les services externes ne reçoivent des notifications que sur les modifications qui sont importantes pour vous.


Auparavant, GitLab n'avait pas de fonction de filtrage pour les webhooks, et la plupart des systèmes externes n'ont pas de fonction de filtrage pour les notifications entrantes. Cela signifie qu'auparavant, il n'était pas possible d'intégrer ces services directement à GitLab, si vous n'aviez besoin que d'un certain sous-ensemble de notifications push à utiliser par des services externes.
Merci pour cet ajout à Duan Saskia !


image


Alertes pour les statistiques de bibliothèque


(disponible dans les versions: Ultimate, Gold)


Dans GitLab version 11.2, nous avons ajouté la possibilité de définir des alertes pour les mesures individuelles , ce qui a permis aux développeurs de recevoir des notifications en cas de problème avec leurs applications.


Dans GitLab version 11.3, nous avons étendu la prise en charge des alertes pour toutes les métriques, y compris les métriques fournies par défaut avec les métriques de notre bibliothèque .


image


DevOps automatiques activés par défaut


(disponible dans toutes les versions)


Auto DevOps a été rendu public dans GitLab 11.0, et bien qu'il s'agisse d'une amélioration significative, nous aimerions donner à tous les utilisateurs de GitLab la possibilité d'utiliser ces fonctionnalités exceptionnelles. Les DevOps automatiques offrent des avantages importants directement dans la version «en boîte», de la fonction de construction automatique à la surveillance automatique.
À partir de GitLab version 11.3, Auto DevOps sera activé par défaut à la fois sur GitLab.com et sur l'exécution de copies du programme sous contrôle indépendant, de sorte que pour chaque projet, vous pouvez utiliser ces fonctions.


Veuillez consulter la documentation sur l' activation / la désactivation des DevOps automatiques si vous souhaitez désactiver ces fonctions pour votre projet dans l'intégralité de la copie d'exécution du programme.


image


Amélioration des fonctionnalités géographiques


(disponible en versions: Premium, Ultimate)


Nous nous concentrons en permanence sur l'amélioration de la fonction Geo pour les groupes de travail distribués. Certaines améliorations notables de GitLab 11.3 incluent:



Désactivation automatique des DevOps automatiques pour un projet lors de la première défaillance du pipeline


(disponible dans toutes les versions)


GitLab considère que «l'état par défaut» est l'une des valeurs clés du produit. Lorsque nous introduisons une nouvelle fonctionnalité avec une fonctionnalité de configuration que nous considérons comme une grande valeur, nous la mettons par défaut à l'état ON pour que tout le monde puisse en profiter. Malgré le fait que Auto DevOps prend en charge les projets utilisant les langages de programmation les plus populaires, certains projets spécialisés peuvent nécessiter une configuration supplémentaire.


Puisque nous voulons garantir que nous n'exécuterons pas les pipelines Auto DevOps pour les projets que nous ne prenons pas en charge, nous désactivons automatiquement Auto DevOps en cas de défaillance de l'un de ses pipelines. GitLab informera certainement le propriétaire du projet d'un tel arrêt afin que s'il souhaite travailler avec Auto DevOps, il puisse apporter les modifications nécessaires à la configuration. Après avoir apporté les modifications nécessaires, les propriétaires de projet peuvent à nouveau exécuter Auto DevOps.


image


Gitaly v1.0


(disponible dans toutes les versions)


L'accès pour une utilisation régulière de GitLab peut maintenant être entièrement implémenté via Gitaly, le service gRPC (système d'appel à distance open source) pour l'accès à Git. Cela signifie que vous pouvez exécuter Gitaly sur votre propre serveur sans NFS (système de fichiers réseau) lorsque vous activez toutes les fonctions de votre choix (en cochant les cases appropriées).


Dans la prochaine version majeure de Gitaly v1.1, tous les drapeaux des fonctions correspondantes seront sélectionnés par défaut, et les dernières fonctions restantes seront utilisées par Gitaly, éliminant ainsi le besoin de NFS.
Voir notre article de blog sur le développement de Gitaly v1.0 .


GitLab Runner 11.3


(disponible dans toutes les versions)


Aujourd'hui également, nous publions GitLab Runner 11.3! GitLab Runner est un projet open source qui est utilisé pour effectuer des tâches CI / CD et renvoyer les résultats à GitLab.


Voici les changements les plus intéressants:



Une liste de toutes les modifications peut être trouvée dans la section CHANGELOG du programme GitLab Runner.


Une liste de tous les composants logiciels open source utilisés par GitLab est disponible.


(disponible dans toutes les versions)


Depuis la version 11.3 de GitLab, nous avons simplifié l'accès à la liste de tous les composants logiciels open source utilisés par GitLab. Auparavant, il était disponible dans chacun de nos packages Linux, mais pour l'obtenir, vous deviez télécharger et décompresser le contenu.
Maintenant que nous avons publié ces informations en ligne, il est désormais plus facile d'y accéder et de leur donner un lien. Cette liste est disponible pour GitLab CE et GitLab EE .


Améliorations générales


(disponible dans les versions: Core, Starter, Premium, Ultimate)


  • GitLab version 11.3 inclut Mattermost 5.2 , une alternative open source Slack qui fournit un système de plug-in mis à jour, la possibilité de rechercher des chaînes archivées, une prise en charge de la langue roumaine, etc. Étant donné que cette version comprend des mises à jour de sécurité , il est recommandé de l'installer.
  • gitlab-elasticsearch-indexer été mis à jour vers la version 0.2.2.
  • omnibus-ctl été mis à jour vers la version 0.6.0.
  • Les paramètres de Redis tcp_backlog et HZ , ainsi que max_concurrency dans sidekiq_cluster ont désormais une configuration modifiable.
  • La quantité maximale de mémoire que Sidekiq peut utiliser par défaut est de 2 Go.
  • La compression SSL a été désactivée par défaut pour gitlab-psql et gitlab-geo-psql .

Amélioration des performances


(disponible dans toutes les versions)


Certaines améliorations notables de GitLab 11.3 incluent:



Résiliation du soutien


Prise en charge de la version Docker dans GitLab Runner


Dans GitLab version 11.4 (qui sortira le 22 octobre 2018), conformément aux dernières recommandations Docker, il n'est pas recommandé d'utiliser des versions antérieures à 1.12 (API version 1.24). Après la version 11.4, ces anciennes versions ne seront plus officiellement prises en charge et pourront cesser de fonctionner à tout moment.
Date de suppression: 22 octobre 2018


Indicateur de mise à jour


Aucun temps d'arrêt n'est requis pour effectuer une mise à niveau vers GitLab 11.3 à partir de la dernière version 11.2. Pour effectuer une mise à niveau sans interruption, veuillez consulter la documentation "Mise à niveau sans interruption" .
Dans cette version, des migrations de fichiers et de données se produisent, ainsi que des migrations après le déploiement de la nouvelle version, et pour faciliter les migrations importantes, nous avons introduit des migrations en arrière-plan.
Les migrations sur GitLab.com prennent environ neuf minutes et les migrations après le déploiement de la nouvelle version prennent environ 15 minutes au total. D'un autre côté, la transition en arrière-plan vers de nouvelles versions concerne les tâches Sidekiq (planificateur de tâches open source) exécutées de manière synchrone. Selon nos attentes, pour cette version, la transition vers le site GitLab.com devrait prendre environ 90 jours. .
GitLab Geo Geo .



, :



L'installation


GitLab, GitLab .



.


GitLab


GitLab SaaS ( , , ).
: .


  • Core : , GitLab .
  • Starter : , .
  • Premium : , , .
  • Ultimate : , , .
    SaaSGitLab.com : , .
  • Free : . Free , Gold .
  • Bronze : , .
  • Silver : , , .
  • Gold : CI/CD. Gold .

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


All Articles