Sécurité et conformité du code avec GitLab

 

gitlab logo security devsecops

Outre le contrôle de version et le CI/CD, GitLab propose également une variété de tests de sécurité sur votre code propriétaire (code que vous développez) ou sur le code externe que vous utilisez (c’est-à-dire open source), ainsi que des capacités de conformité du code – pour vous aider à vous assurer que vous faites l’utilisation appropriée et légale de toutes les bibliothèques open source et des extraits de code.

En fait, dans GitLab, vous pouvez également exécuter les tests sur le code lui-même, puis tout voir à l’aide d’un tableau de bord central qui montre tout organisé.
Le tableau de bord de GitLab vous permet également d’exécuter certaines actions sur les résultats et les découvertes, et de partager les informations entre toutes les parties prenantes (ou quiconque est autorisé à les regarder en fonction des autorisations).

gitlab security dashboard
Tableau de bord de sécurité de GitLab (vue au niveau du groupe). Cliquez pour agrandir.

Les tests peuvent être exécutés à partir de GitLab CI (l’outil CI/CD intégré fourni avec GitLab) et peuvent également être connectés à d’autres outils CI tels que Jenkins.

Les tests peuvent être exécutés même si le code se trouve dans un autre outil SCM (tel que git, GitHub, Bitbucket, etc.).

Certains des tests sont dynamiques, ce qui signifie qu’ils ne s’exécutent pas sur le code lui-même, mais sur l’application ou le site Web qui exécute le code.

Les tests peuvent être exécutés à la fois depuis un serveur GitLab privé (auto-hébergé) ou depuis le cloud / SaaS (par exemple, gitlab dot com).

Vous pouvez voir ici un aperçu des fonctionnalités d’analyse de sécurité pertinentes :

Remarque : la plupart des fonctionnalités ici nécessitent une licence GitLab Ultimate. Si vous avez besoin d’un devis, contactez-nous (nos coordonnées sont ci-dessous).

Feature

Description

Container Scanning Exécutez une analyse de sécurité pour vous assurer que les images Docker de votre application ne présentent aucune vulnérabilité connue dans l’environnement où votre code est livré.
Dependency List Identifiez les composants inclus dans votre projet en accédant à la liste des dépendances (également appeléeBill of Material ou BOM), qui est souvent demandée par les équipes de sécurité et de conformité.
Dependency Scanning Protégez votre application des vulnérabilités qui affectent les dépendances dynamiques en détectant automatiquement les bogues de sécurité bien connus dans vos bibliothèques incluses.
Static Application Security Testing (SAST) Recherche de code source vulnérable ou de bogues de sécurité bien connus dans les bibliothèques incluses dans l’application. Les résultats sont ensuite affichés dans la demande de fusion et dans la vue Pipeline.
Ce test prend en charge les langages de code suivants:  C/C++, Apex, .NET, Java, Go, JS, Python, PHP, Swift, TypeScript, NodeJS et plus.
Dynamic Application Security Testing (DAST) Assurez-vous que vous n’êtes pas exposé aux vulnérabilités des applications Web telles que l’authentification cassée, les scripts intersites ou l’injection SQL.
Secret Detection Vérification des secrets et des informations d’identification involontairement commis dans le code git et l’historique.
API Fuzzing Testez les API dans vos applications pour trouver les vulnérabilités et les bogues qui manquent aux processus d’assurance qualité traditionnels.
Coverage Fuzzing Trouvez des vulnérabilités de sécurité et des bogues dans votre application que les processus d’assurance qualité traditionnels manquent, prenant en charge
C/C++, Go, Java, JS, Python et autres langages de code.
Security Dashboard Gagnez en visibilité sur les correctifs prioritaires en identifiant et en suivant les tendances des risques de sécurité dans l’ensemble de votre organisation.
License Compliance Vérifiez que les licences de vos dépendances sont compatibles avec votre application(e.g. GPL, BSD, Apache, MIT licenses etc.), et les approuver ou les refuser.

 

ALMtoolbox est le  représentant officiel de GitLab, Hashicorp  en France et dans d’autres pays.

Contactez pour toute question, un devis ou même une license d’évaluation:
par email  devops.fr@almtoolbox.com ou +33 1 84 17 53 28
 Nous fournissons des conseils GitLab, la migration, aidons les clients à choisir les licences les mieux adaptées, un hébergement privé, un support de qualité et rapide, le développement de modules complémentaires GitLab et nous soutenons et vendons une variété d’outils DevSecOps et ALM.

 

First release: December 2021
 

 

Nouveau : Bibliothèque VOD des webinaires DevOps

devops webinars video on demand

Nous avons récemment organisé les vidéos que nous avons enregistrées au fil des ans dans une “bibliothèque” centralisée de VOD (Video On-Demand).
Nous l’avons classé par produits, tags, langue et date d’enregistrement (à votre convenance).

N’hésitez pas à trouver ce qui vous intéresse le plus et regardez !

>>>>La bibliothèque DevOps VOD est disponible ici

 

ALM-Toolbox est un distributeur officiel de SonarQube,GitLab et autres, offre du conseils, des licences SonarQube et SonarCloud, la mise en œuvre, la formation et aide les clients à intégrer SonarQube aux flux commerciaux et aux pipelines CI/CD.
Contactez-nous pour toute question, y compris les prix et les devis : sonarqube@almtoolbox.com ou appelez-nous : 866-503-1471 (USA/Canada) ou +33 (0)1 84 17 53 28

Quelles sont les différences entre les éditions SonarQube ?

Last update: March 2023 (published first at June 2021)

On nous demande souvent quelles sont les différences entre les versions de SonarQube.
D’après les questions, il est clair que les options de licence ne sont pas si claires et assez déroutantes, j’ai donc décidé d’écrire les points essentiels et de mettre un peu d’ordre.

Legende

Dans l’article suivant, j’explique les différences, et d’ailleurs nous avons récemment créé un fichier automatique qui vous permet de voir facilement toutes les fonctionnalités du produit, en détail et par éditions (vous pouvez donc utiliser des filtres et voir par exemple quelles fonctionnalités sont uniquement dans les éditions Developer / Enterprise ; quelles fonctionnalités ne sont pas dans une certaine édition, etc.) . Vous pouvez nous envoyer un e-mail (sonarqube@almtoolbox.com) et obtenir cette fichier automatique.

sonarqube-excel
Cliquez pour agrandir. Envoyez-nous un e-mail pour obtenir la feuille de calcul complète.

 

Principales différences dans les éditions SonarQube

SonarQube Editions

Dans cet article, j’explique les principales différences entre les éditions SonarQube.

SonarQube a été construit dans un modèle “Open Core”, ce qui signifie qu’il s’agit d’une source ouverte construite par couches : chaque couche contient l’ancienne couche plus des fonctionnalités supplémentaires :

  • L’édition communautaire (gratuite) est la base
  • Ensuite, vous avez Developer Edition en couche additionnelle
  • Puis l’Enterprise Edition en plus
  • Et enfin l’édition Data Center en plus

Voire l’illustration sur le côté droit.

Voyons les principales fonctionnalités qui sont ajoutées dans chaque édition (couche).

Qu’y a-t-il dans l’édition communautaire ?

Cette édition est open source gratuite et offre les éléments suivants :

1. Noyau de SonarQube et plus de 60 plugins.
Vous avez une variété de plugins conçus pour SonarQube (certains sont gratuits tandis que vous devez payer pour d’autres). Vous pouvez également créer vos propres plugins (et nous pouvons le créer pour vous).

2. Numérisation des langages de code (analyse de code statique)

L’édition communautaire prend en charge une analyse de base de 16 langues :
Java, Javascript, C#, Terraform, Kubernetes, TypeScript, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML, VB.NET

3. Analyse de la branche master (principale)

Scannez la branche git master (principale).

Notez que vous ne pouvez pas analyser d’autres branches (par exemple, les branches de fonctionnalités) à l’aide de l’édition de la communauté, vous ne pouvez donc pas appliquer la méthodologie “Shift Left” à l’aide de cette édition.

4. SonarLint

SonarLint vous aide à recevoir des notifications sur les problèmes de code et les bogues, en temps réel, dans l’IDE des développeurs (par exemple IntelliJ / VS Code) – ce qui les aide à développer plus de “code propre”.
Remarque : SonarLint ne peut pas être configuré dans cette version (vous pouvez le faire dans l’édition Developer comme expliqué ci-dessous)

Édition développeur vs édition communautaire

L’édition développeur offre tout dans l’édition communautaire PLUS :

  1. Branch Analysis

Vous pouvez analyser toutes les branches de votre choix (plutôt que la branche principale uniquement), ce qui vous permet de détecter les problèmes beaucoup plus tôt, avant même que le code ne soit fusionné en amont avec les branches principales.

  1. Demande d’extraction Décoration  & Analyse

Cela vous permet d’intégrer SonarQube à vos outils de contrôle de version et d’ajouter l’analyse SonarQube et une porte de qualité à vos demandes d’extraction (ou demandes de fusion) dans l’interface de votre fournisseur ALM / DevOps, y compris GitLab, GitHub, Bitbucket et Azure DevOps.
Il vous aide à obtenir un retour rapide (des résultats de l’analyse) dans le tableau de bord.

Illustration: Pull (Merge) request decoration with SonarQube and GitLab
Illustration : Pull (Merge) décoration de requête avec SonarQube et GitLab. Cliquez pour agrandir

3. Analyse de la sécurité du code /Fonctionnalités

Analyse de sécurité avec une variété de règles pour chaque langue de code (notre feuille de calcul spécifie le nombre de règles dont vous disposez pour chaque langue)

Remarque : l’édition communautaire (gratuite) ne recherche pas les failles de sécurité

4. Fonctionnalités  SonarLint supplémentaires

Dans cette version, il est possible de configurer et de recevoir des notifications intelligentes (non disponible dans l’édition gratuite de la communauté),
donc si vous (en tant que développeur) utilisez SonarLint via votre IDE, vous pouvez configurer et recevoir des notifications.
Par exemple : Vous pouvez recevoir un message si vous n’avez pas passé les Quality Gates.

Remarque : SonarLint dans l’édition communautaire (gratuite) n’analyse pas les langues qui ne sont pas prises en charge dans la version gratuite (par exemple, C, C++ et autres, comme indiqué ci-dessous)

5. Prise en charge de plus de Languages:

L’Edition  Enterprise analyse également les langages de code suivants :

  1. Apex (of Salesforce)
  2. Cobol
  3. PL/1
  4. RPG
  5. VB 6 (Visual Basic)


L’Edition   Enterprise prend en charge 29 languages de code au total.

L’Edition  Enterprise  vs Edition  Developer

  1. Prise en charge de plus de langages

L’ Edition Enterprise  analyse également les langages de code suivants :

  1. Apex (of Salesforce)
  2. Cobol
  3. PL/1
  4. RPG
  5. VB 6 (Visual Basic)

L’ Edition Enterprise prend en charge 29 langages de code au total.

2. Portefeuille et reporting

Cette fonctionnalité est utile lorsque vous avez de nombreux projets. Il vous montre l’état des projets de haut niveau (ce qui est souvent nécessaire aux responsables du développement, aux chefs d’équipe, aux CTO, etc.).

Cela vous permet également d’agréger les projets par groupes afin de visualiser les informations et de les rendre beaucoup plus claires et lisibles.

Fonctionnalités pertinentes ici :

  • Agrégation de projets. Par exemple, vous pouvez décider quoi regrouper selon des critères que vous décidez, par ex. langage codé commun ; projets hérités; groupes ; équipes etc…
  • Vous pouvez automatiser le rapport et l’envoyer par e-mail (sous forme de rapport PDF)
Regarder une démo (2 min) :

 

3. Rapports de sécurité

Les rapports de sécurité sont disponibles uniquement dans l’édition Enterprise.
Ces rapports vous aident à obtenir des commentaires plus rapidement et à corriger les vulnérabilités de sécurité beaucoup plus rapidement.
SonarQube vous aide à voir votre posture de sécurité selon les normes OWASP Top 10 et CWE Top 25.

Par exemple:

Security Reports
Rapports de sécurité

4. Point d’accès de sécurité + vulnérabilités de sécurité

Les hotspots de sécurité sont des zones de code où SonarQube met en évidence les extraits de code suspects que les développeurs doivent vérifier (car il peut y avoir des vulnérabilités).

Voir un exemple (cliquez pour agrandir):

Security Hotspot
Security Hotspot

Cette fonctionnalité permet également d’améliorer les compétences de développement des développeurs et de les responsabiliser : au fur et à mesure qu’ils écrivent du code et découvrent les points chauds, ils découvrent les risques de sécurité et les meilleures pratiques pour les prévenir.

Les vulnérabilités de sécurité nécessitent une attention immédiate. SonarQube fournit une description détaillée et met en évidence le code pertinent, ce qui aide à comprendre quel est le risque dans le code donné.
Par exemple (cliquez pour agrandir):

Identify the problematic code
Identifiez le code problématique et fournissez une solution sur la façon de le résoudre (dans ce cas : utilisez une longueur de clé qui fournit suffisamment d’entropie contre les attaques par force brute. Pour l’algorithme RSA, elle doit être d’au moins 2 048 bits)

5. Traitement parallèle des rapports d’analyse

Vous permet de gérer les analyses et les rapports en parallèle. Ceci est utile si vous devez exécuter de nombreuses analyses et rapports.
Vous pouvez exécuter jusqu’à 10 nœuds de calcul en parallèle.

6.Licence  Staging

À l’aide de l’édition Enterprise, vous pouvez obtenir une licence supplémentaire pour configurer un environnement de test/de test.

Ceci est utile lorsque SonarQube fait partie d’un système critique et/ou utilise des plugins, et que vous souhaitez le tester (en tant qu’exécution “à sec”) avant de mettre à niveau le serveur réel (afin d’atténuer les risques et d’assurer un temps d’arrêt minimal et une mise à niveau réussie) .

Edition Data Center   vs Enterprise

L’Edition Data Center Edition vous offre une haute disponibilité pour les déploiements massifs (mondiaux).
La haute disponibilité est obtenue en ajoutant de la redondance à chaque nœud du système.

  1. Redondance des composants

  2. Résilience des données


  3. Évolutivité horizontale

FAQ

  • Q : Quel est le prix de SonarQube ?
    R : La tarification de SonarQube dépend de plusieurs paramètres :
    Type d’édition (comme expliqué ci-dessus dans l’article);
    Le nombre de lignes de code dont vous disposez
    Que vous preniez le support client
    Contactez-nous pour obtenir les prix et les devis exacts : sonarqube@almtoolbox.com ou appelez nous.
  • Q : J’utilise un langage de code pris en charge par l’édition communautaire (gratuite) (par exemple, Java ou C#). Cela signifie-t-il que j’obtiens toutes les fonctionnalités de SonarQube ?
    R : Non. Si vous utilisez l’édition gratuite, vous avez accès aux fonctionnalités disponibles uniquement dans l’édition communautaire gratuite.
    Par exemple : si vous utilisez Java (qui est disponible dans l’édition gratuite), vous n’obtiendrez pas d’analyse des règles de sécurité ; Aucune analyse de branche ; Aucun rapport, etc.

ALM-Toolbox est un distributeur officiel de SonarQube et offre du conseils, des licences SonarQube et SonarCloud, la mise en œuvre, la formation et aide les clients à intégrer SonarQube aux flux commerciaux et aux pipelines CI/CD.
Contactez-nous pour toute question, y compris les prix et les devis : sonarqube@almtoolbox.com ou appelez-nous : 866-503-1471 (USA/Canada) ou +33 (0)1 84 17 53 28

Liens utiles:

Des vulnérabilités dans des applications tierces ont causé le vol de code de GitHub

github vulnerabilities

GitHub a signalé qu’un pirate exploitait apparemment une faille de sécurité ou
erreur humaine sur les applications tierces Travis et Heroku.

La faille de sécurité a exposé les jetons, permettant au pirate de voler les jetons et de les utiliser pour entrer dans des référentiels privés sur GitHub (y compris NPM)
il a donc réussi à télécharger ces référentiels – y compris tout le code et les informations qu’ils contiennent.

Cela signifie que : des vulnérabilités dans des applications tierces ont causé le vol de code de GitHub

Comment pouvez-vous empêcher un piratage similaire de votre dépôt git ?

Il existe plusieurs solutions différentes – et vous devez toutes les mettre en œuvre :

1) Réduire les autorisations

Si vous utilisez GitHub dans le cloud public (github.com) et donnez aux fournisseurs tiers un accès Oauth (le type de jetons volés) –
minimiser les autorisations que vous accordez à des tiers pour accéder à vos informations.

Vous devez également passer en revue les autorisations qu’ils demandent et vous assurer qu’elles ne sont pas trop larges et permissives.

Une erreur courante consiste à accorder des autorisations globales.

Il en va de même lors de l’octroi d’autorisations aux applications GitHub (qui génèrent également des jetons).

2) Ajouter des couches de protection

Vous devriez également envisager de passer à GitHub / GitLab Enterprise sur un serveur privé
(sur site / locataire unique / autogéré) derrière des couches de protection supplémentaires telles que pare-feu, SSO ou accès distant sécurisé,

ou utilisez uniquement des adresses IP autorisées (dans les éditions de cloud public), qui offrent des couches de protection supplémentaires contre les utilisateurs non autorisés du monde entier.

3) Protéger les secrets

Au-delà de cela – il est important que le fournisseur tiers stocke les jetons dans un outil de coffre-fort centralisé – ce qui aurait rendu très difficile pour les pirates d’obtenir les jetons (le rendant presque toujours inaccessible).

Si vous utilisez de tels tiers, vérifiez ou assurez-vous (dans le cadre de votre chaîne d’approvisionnement) qu’ils le stockent dans des outils Vault tels que Akeyless Vault (SaaS et une solution hybride) ou HashiCorp pour les réseaux fermés.

Il en va de même pour toute application qui accorde des autorisations d’accès à des tiers à l’aide de jetons.

ALM-Toolbox fournit des solutions ALM et DevSecOps et peut vous aider à protéger vos référentiels et vos environnements logiciels/cloud.

Contactez-nous : devsecops@almtoolbox.com   ou +33(0)1 84 17 53 28    

Atlassian abandonne HipChat et Stride , quelle suite ?

atlassian-and-slack
Le week-end dernier a été tumultueux dans le segment des fabricants d’outils pour les sociétés de développement de logiciels
Atlassian (fabricant de produits HipChat, Stride, Jira et plus) a annoncé mardi qu’il vendait à la fois ses produits HipChat et Stride à Slack, ainsi que d’aider ses utilisateurs à passer à
Slack, ce qui signifie que les produits ci-dessus sont très proches de la fin leurs vies
L’annonce intervient après le lancement du produit Stride il y a près d’un an, l’annonçant
comme la nouvelle solution recommandée pour l’ancien produit HipChat et encourageant les utilisateurs de HipChat à y passer
L’annonce intervient même après un mois intense d’annonces et d’annonces de fabricants de produits similaires
Atlasian a déclaré hier que le marché de ces outils (outils de messagerie et de partage des connaissances) est trop saturé à leur avis, et a admis qu’ils n’avaient pas été en mesure de rivaliser avec le taux de croissance de Slack parmi les utilisateurs et les organisations qui autorisent la connexion Internet (utilisateurs SaaS). À la connaissance de beaucoup (et aussi à mon avis), ils semblent avoir simplement abandonné et largué le produit et les utilisateurs

En effet, les réactions vives ne se sont pas fait attendre (lien vers l’une d’entre elles, dans le forum des utilisateurs Atlassian,  en fin de post)
.Les gens ont dit qu’ils venaient de terminer une longue migration vers Hipchat

Quelqu’un a décrit que jusqu’à ce qu’il réussisse à convaincre les utilisateurs de son entreprise de passer à Hipchat – et d’y déplacer toute l’organisation – ils abdandonnent  maintenant le produit et lui ont demandé avec colère ce qu’il était censé

 Pourquoi cette colere?

Atlasian recommande aux utilisateurs de passer à Slack.
La transition n’est apparemment pas trop complexe… mais il y a un gros problème :

Slack ne fonctionne pas sur site, c’est-à-dire que si vous avez un serveur HipChat ou un centre de données HipChat, Atlasian ne vous propose pas de solution !

Alors que font ceux qui ont besoin d’une solution on-premises ?

Il existe une alternative !
.Il existe un produit gratuit et open source appelé Mattermost
Nous le connaissons depuis plus d’un an maintenant, car il fait partie de l’installation de GitLab et nous avons déjà essayé de l’installer et de l’utiliser plusieurs fois
20160315_v210

En effet, ce produit présente les avantages suivants :

  • Il est proposé comme solution d’installation sur site derrière un pare-feu, même pour un réseau fermé non connecté à Internet.
  • Il existe une possibilité de migration depuis HipChat et Stride
  • Permet le partage de messages et de messages – à l’intérieur et à l’extérieur de l’organisation (comme les clients), par groupes et canaux (similaire à Slack)
  • Permet le partage de fichiers entre les utilisateurs
  • Le produit est intégré aux produits Atlassian – en particulier Confluence, Jira et Bitbucket
  • Intégration avec les principaux outils tels que GitLab, Jenkins, GitHub et plus
  • Il existe des applications pour Android et iPhone (vous pouvez donc communiquer avec d’autres personnes même en dehors du bureau… et pratiquement partout)
  • Il s’agit d’un produit open source qui offre également un support fabricant et un support pour les fonctionnalités de réseau d’entreprise
  • Il existe un support pour les bots (utile pour ChatOps)
  • Il existe une API (basée sur REST) ​​ainsi qu’une option pour exécuter des commandes CLI à des fins d’automatisation
  • Le produit met l’accent sur la sécurité et la sûreté
  • Le produit a une documentation complète et riche
Vous voulez recevoir des mises à jour futures sur Mattermost ? Envoyez un e-mail à l’adresse e-mail suivante : Mattermost@almtoolbox.com
Nous promettons de ne pas envoyer de SPAM !

Courte vidéo sur le  produit

Nous offrons une assistance pour le produit Mattermost – qui comprend l’installation, la migration à partir d’autres outils, des instructions sur l’utilisation et la vente d’une licence si nécessaire.
Nous fournissons également des conseils et des licences pour des outils d’intégration, tels que Jira, Confluence, Jenkins, Bitbucket, GitLab et plus encore, et aidons nos clients à économiser de l’argent sur les licences, à éviter les licences excessives et à acheter des licences incorrectes.
Pour plus de détails vous pouvez nous contacter par téléphone 33 1 84 173 63 28 ou par email devops.fr@almtoolbox.com

Bon à savoir – Gestion des incidents chez Mattermost

Récemment, une capacité importante a été ajoutée à Mattermost – la gestion des événements au sein du système.

incident-management-hero-screen

Supposons qu’il y ait un événement important qui nécessite une réponse rapide d’une équipe particulière ou même nécessite une intervention inter-organisationnelle de plusieurs équipes (par exemple un pépin important qui désactive le service commercial que nous offrons à nos clients), alors un processus peut être mis en place avec un liste de contrôle sur la façon de gérer l’événement (“playbook”). Et si l’événement se produit, vous pouvez l’utiliser pour gérer l’événement correctement, puis vous pouvez également interroger l’événement pour s’améliorer pour l’avenir (voir par exemple quand répondre, temps de réponse et plus). Cela peut être vu sur la chronologie en fonction du processus mis en place pour la gestion des événements.

Vous trouverez ci-dessous des explications supplémentaires, un enregistrement et une démo

Pour votre commodité, nous avons joint un bref résumé et des points de temps dans Vida

Introduction 0:00 –

  • Qu’est-ce qu’un incident ?
  • Pourquoi devrions-nous nous en soucier (risques, concentration sur les clients, résolution rapide des problèmes, perte de temps et d’argent)
  • Comment créer un système de gestion d’événements
    (En bref : un processus doit être défini ; des outils doivent être choisis ; des méthodes de communication doivent être définies pour le traitement (in et out devant les clients)  la documentation/les documents doivent être définis pour que le traitement soit efficace)

12:40 Le concept de “DevOps Command Center” – Gestion centralisée de tous les événements DevOps

  • Mattermost était initialement destiné à être un outil clé pour gérer DEVOPS et PROD.
  • Mentionné d’autres outils qui peuvent être adaptés au DevOps rétrospectivement : PagerDuty, VictorOps. Et OpsGenie
  • Que  Mattermost Mollem peut être connecté comme une intégration.
  • Vous pouvez également vous connecter à Jira par exemple.

18h00 – Démonstration du fonctionnement

  • Mettre en place un processus et un playbook
  • Gestion d’événements, etc.

Démonstration : L’intégration entre Jenkins et Mattermost permet plus de partage et d’automatisation des processus CI

mattermost-jenkins-integration

Mattermost, comme Slack, permet plus de collaboration entre les développeurs et DevOps dans le travail quotidien. Ci-dessous une courte vidéo avec quelques exemples de connexions possibles entre Jenkins et Mattermost, qui permettent, entre autres :

  • Exécutez les builds et CI à partir de Mattermost (à l’aide d’une commande slash) ou exécutez ce que vous voulez (vous pouvez développer vous-même des actions). Cela permet essentiellement à toute personne intéressée de voir l’opération de construction et son évolution (et pas seulement un seul développeur / personne DevOps peut le voir)
  • Peut créer des canaux en fonction de n’importe quel besoin – par exemple pour des constructions réussies (qui ont été achevées avec succès), pour des tests d’acceptation, etc. (vous pouvez regarder la vidéo à 1:10). Il est également possible de mettre à jour les personnes concernées quand  cela s’est terminé avec succès.
  • Création d’un canal dédié pour une version qui a échoué, par exemple – pour exécuter et effectuer des actions autour de celle-ci (comme demander à quelqu’un de le réparer – à 2.00 dans la vidéo). La conversation qui l’entoure sera accessible à toutes les personnes concernées, sur un canal dédié et sous forme de message instantané lisible depuis votre ordinateur ou votre téléphone portable – ce qui est parfois plus efficace que de longs emails.
  • Créez vous-même un bot (“bot”), automatisez ce que vous définissez pour lui.

N’hésitez pas à regarder la vidéo : [3 minutes]

Vous pouvez utiliser Mattermost en installant votre propre serveur privé ou même le consommer en utilisant le cloud (vous pouvez nous contacter et obtenir un essai – les détails ci-dessous).

Semblable à la connexion à Jenkins, vous pouvez créer des partages et des automatisations pour des outils CI similaires tels que GitLab CI / CD, ainsi que des connexions à d’autres outils en développement et processus CI / CD tels que Jira, GitHub, GitLab, Bitbucket et plus.

Cela vous permettra également d’utiliser la capacité relativement nouvelle de gestionnaire d’incidents fournie avec Mattermost Enterprise – pour obtenir une capacité de gestion d’événements (comme les problèmes qui nécessitent une intervention rapide de plusieurs facteurs dans l’organisation). Vous pouvez en savoir plus sur le gestionnaire d’incidents dans l’article suivant.

 

Transcription

Les versions logicielles sont soumises à des tests approfondis de performances fonctionnelles et de progression.

Ceci est difficile à suivre et à gérer à grande échelle.

Nous allons vous montrer comment accélérer les tests à l’aide de Mattermost et de notre intégration de flux de travail Jenkins.

Conçu par des développeurs pour des développeurs, Mattermost est la plate-forme de messagerie open source flexible qui permet une collaboration sécurisée pour les équipes DevOps.

API Mattermost

Mattermost est centré sur l’API, ce qui vous permet de créer automatiquement un nouveau canal par pipeline et de l’intégrer à l’instance Jenkins appropriée.

Au lieu de nous connecter à Jenkins, nous créons le build à partir de Mattermost. Cela crée un package dans Jenkins et le met en file d’attente.

Au fur et à mesure que le build s’exécute, le bot met à jour la progression dans Mattermost, permettant à toutes les parties prenantes, et pas seulement aux ingénieurs de build, de voir l’avancement du build.

Les mises à jour peuvent être placées dans un canal créé pour le Sprint ou comme dans ce cas un canal pour les testeurs d’acceptation.

Au fur et à mesure que les nouvelles versions sont terminées, des messages seront publiés sur la chaîne et les parties prenantes de la chaîne en seront informées.

Ils verront également qu’une version les attend, car le nom de la chaîne a été mis en gras.

Une fois que les testeurs voient qu’une version est en attente, les testeurs trouvent tous les supports pertinents, épinglés en haut de la chaîne, disponibles en un seul clic.

Lorsqu’une génération échoue, elle est gérée par un autre groupe de personnes via un processus différent. Nous pouvons voir la notification indiquant que la compilation a été lancée dans le canal du pipeline de compilation CI/CD.

Comme cette intégration est en ligne, vous pouvez cliquer sur le build dans Jenkins pour obtenir plus de détails sur son exécution.

Lorsqu’une compilation échoue, son statut sera publié sur les canaux appropriés.

Utiliser des canaux

Mattermost peut créer automatiquement un nouveau canal pour collaborer au tri de la tâche de build ayant échoué. Les bonnes personnes sont automatiquement invitées sur cette chaîne en fonction des règles que vous spécifiez.

Mattermost permet à votre équipe d’avoir une conversation filaire sur la résolution du problème.

Parfois, cela implique d’inviter des membres non essentiels de l’équipe à aider. Susan est informée dans Mattermost qu’elle identifie les chaînes avec des messages

nécessitant son attention à travers les caractères gras des noms de chaînes sur la gauche.

Susan développe le volet de conversation et contacte directement Tom.

Susan ne voit cependant pas l’acceptation ni les canaux de construction CI/CD. L’adhésion à une chaîne peut être restreinte ou

ouvrir cela vous permet de trouver et de sécuriser facilement les informations pertinentes pour chaque individu.

Mattermost permet une collaboration de groupe plus efficace qui conduit à un plus grand débit dans vos pipelines.

Mattermost vous permet de collaborer en toute transparence pour résoudre les problèmes et augmenter la vitesse en intégrant des systèmes, des personnes et des processus dans un seul espace de travail.

Des dizaines de milliers d’utilisateurs dans des centaines de grandes entreprises mondiales utilisent Mattermost.

Pour découvrir comment des clients comme Bank of America, Samsung et la NASA utilisent Mattermost ou pour

essayez-le par vous-même, contactez-nous à Mattermost@almtoolbox.com

Construire une infrastructure à l’aide de Terraform

hashicorp terraform logo

Voici deux cas d’utilisation réels où nous avons aidé nos clients à créer une « Infrastructure en tant que code » à l’aide de Terraform.

1. Client dans le domaine  des économies d’énergie et de l’IoT

Le client dispose d’une application Web créée à l’aide de GitLab CI. Le client utilise AWS comme infrastructure avec Cloud Front, S3, Route 53 et un fournisseur DNS externe. Il  devait être capables de mettre en place un environnement rapidement et de manière cohérente sans « magie noire ».

L’outil que nous avons choisi avec le client était Terraform. En utilisant Terraform, nous avons créé toutes les ressources pour que l’application puisse s’exécuter. Nous avons traité des problèmes de sécurité (par exemple, le compartiment S3 devait être privé mais toujours accessible au CloudFront), de mise en cache et plus encore.

Nous avons utilisé le compartiment S3 pour conserver l’état de Terraform afin que le script puisse s’exécuter partout et nous avons utilisé DynamoDB pour nous assurer que le script Terraform ne s’exécutera pas en parallèle, même à partir de différentes machines.

Avec le script Terraform et l’espace de travail Terraform, le client peut désormais créer et gérer plusieurs environnements et peut être sûr que tous sont exactement les mêmes.

2. Client : solution commémorative basée sur le Web

Dans ce projet, nous avons utilisé Terraform pour contrôler l’infrastructure sur AWS et DigitalOcean.

Nous avons créé un cluster Kubernetes et utilisé l’intégration Terraform Helm3 pour installer des applications d’infrastructure telles que la surveillance et des bases de données telles que la recherche Elastic, MySQL et etc.

Sur AWS, nous avons créé l’infrastructure pour prendre en charge le client WEB qui comprenait Cloudfront et S3.

Le script Terraform prend en charge les variables d’environnement et utilise l’espace de travail Terraform pour pouvoir créer plusieurs environnements (Test et production)

Nous avons utilisé le compartiment S3 pour conserver l’état de Terraform afin que le script puisse s’exécuter partout et nous avons utilisé DynamoDB pour nous assurer que le script Terraform ne s’exécutera pas en parallèle, même à partir de différentes machines.

Besoin d’aide avec Terraform et pour appliquer ses meilleures pratiques ?
Nous représentons officiellement la société HashiCorp et nous fournissons des services de conseil, de formation, d’assistance, de services gérés et de vente de licences d’abonnement Enterprise / cloud.

Contactez-nous : terraform@almtoolbox.com ou appelez-nous : +33 1 84 17 53 28(France /Europe)

Quoi de neuf dans HashiCorp Vault 1.7?

HashiCorp Vault

La version 1.7 a été annoncée il y a quelques jours, avec de nouvelles améliorations, mises à jour et fonctionnalités.

Vault, comme on le sait, s’occupe la gestion des secrets, le cryptage des données et la gestion des identités – pour toute application et toute infrastructure.

Dans la nouvelle version 1.7, l’accent est mis sur l’amélioration des processus de base de Vault. Ajout du “AutoPilot” qui permet une gestion du stockage interne plus pratique (comme la suppression automatique des serveurs “morts”); Tokenisation qui produit des jetons irréversibles et protège ainsi les informations; et un moteur de secrets de gestion de clés diplômé qui est maintenant au niveau GA; l’agent Vault peut désormais s’exécuter en tant que service Windows; Améliorations des performances et toutes sortes de petites améliorations du produit et plus encore.

Nouvelles fonctionnalités et améliorations majeures:

N’oubliez pas que certains sont dans la version gratuite et d’autres dans les versions Enterprise (payant)

  • Integrated Storage Autopilot: Added dead server cleanup, server stabilization for new nodes joining a cluster, and a health check API to our integrated storage backend.
  • Tokenization (Enterprise; ADP Module): Tokenization support is out of technical preview and is now production ready using the Transform Secret Engine. Tokenization creates irreversible “tokens” from sensitive data, thus protecting the original data.
  • Key Management Secrets Engine (Enterprise): The engine is now generally available with support for Azure Key Vault. Support for AWS KMS has been added (beta).
  • Performance and reliability: We have improved how Vault resources are consumed during lease revocations, resulting in better performance. We have also added configurable headers to control the consistency of reads after writes to performance secondary clusters and performance standby nodes. We also added an option to configure the size of the logshipper buffer to control memory utilization when dealing with replication updates to secondary nodes.
  • Database Secrets Engine (UI): Added a UI to configure database secrets engines and dynamic database credential generations for MongoDB.
  • See all the rest here.

Vous voulez en savoir plus sur les dernières fonctionnalités de Vault?

Vous pouvez nous contacter (par email ci-dessous) et recevoir:

  • Une liste détaillée et à jour de toutes les fonctionnalités du produit
  • Explication des différences entre la version gratuite et la version Entreprise + prix et devis
  • Formation / atelier enregistré

Nous sommes ALM-Toolbox, les distributeurs officiels de HashiCorp en Frabce  et dans d’autres pays.

Nos services:

  • formations pour tous les produits HashiCorp (formation privées pour votre organisation – en particulier sur Vault et Terraform)
  • Aide au choix de la licence la plus appropriée (comment économiser de l’argent sur la licence)
  • Mises à niveau de la version sécurisée vers Vault
  • Conseil en architecture (y compris Kubernetes)
  • Service géré vers Vault
  • Notre support dans les environnements de production avec option SLA

Contactez pour nous toute question, un devis ou même une license d’évaluation.
ALMtoolbox : 01 84 17 53 28, devops.fr@almtoolbox.com

GitLab 13.9: une image vaut mille mots

Découvrez comment les nouvelles fonctionnalités sont réparties entre les étapes et les fonctionnalités

GitLab 13.9 est sorti  il y a quelques jours avec des dizaines de nouvelles fonctionnalités.

Comme nous l’avons initialement  fait  il y a un mois, nous avons publié un diagramme mis à jour de toutes les fonctionnalités de GitLab séparées par étapes (axe Y) et éditions (Free / Premium / Ultimate).

On nous pose souvent des questions sur les avantages des versions gratuites et payantes de GitLab, nous avons donc récemment analysé toutes les fonctionnalités de GitLab pour quantifier et visualiser la valeur de GitLab Free, Premium et Ultimate.

On dit qu’une image vaut mille mots – vous pouvez donc la voir maintenant (cliquez pour agrandir):

gitlab features premium ultimate all features 13.9
L’axe Y reflète les 11 étapes existantes (Gérer, Planifier, Créer, etc.). L’axe X reflète le pourcentage pondéré (normalisé et proportionnel à 100% pour chaque étape)

 

Ce que nous voyons ici:

Tout d’abord, nous avons pris la liste de toutes les fonctionnalités existantes dans GitLab (actuellement, à partir de la version 13.9 publiée le 22/02/2021, il y en a 494 au total).

Ensuite, nous avons pris les 11 étapes du cycle de vie DevOps existant dans GitLab (tel que défini par GitLab dans le diagramme ci-dessous **), et pour chaque étape, nous avons vérifié le nombre de ses fonctionnalités dans la version gratuite (les zones vertes dans le graphique au dessus); combien en Premium (en bleu) et combien en Ultimate (en jaune).

Étant donné que le nombre de fonctionnalités varie d’une étape à l’autre, nous l’avons normalisé pour le voir en pourcentages afin qu’ils puissent être affichés dans un graphique, l’un au-dessus de l’autre.

Et  voici le résultat  (ci-dessus).

Comme mentionné, l’axe Y reflète les 11 étapes existantes (Gérer, Planifier, Créer, etc.).

L’axe X reflète le pourcentage pondéré (normalisé et proportionnel à 100% pour chaque étape).

Details:

  • Certaines étapes sont entièrement disponibles lors de l’utilisation de la version Premium (c’est-à-dire que 100% des fonctionnalités sont à l’intérieur, car les fonctionnalités Premium (en bleu) viennent en plus des fonctionnalités gratuites (en vert). Ce sont les étapes suivantes:
    • Créer (Contrôle de version: créer, afficher et gérer le code et les données de projet via de puissants outils de branchement)
    • Verity (CI: maintenir des normes de qualité strictes pour le code de production avec des tests et des rapports automatiques)
    • Package (artefacts: créez une chaîne logistique logicielle cohérente et dépendante avec une gestion intégrée des packages)
    • Activation (recherche globale; géoréplication, DR, installations cloud natives et omnibus)

Autrement dit, la version Enterprise Premium couvre 100% des fonctionnalités dans 4 domaines du cycle de vie DevOps

  • En moyenne, environ 90% des fonctionnalités totales de GitLab existent dans Free + Premium.
  • Vous pouvez voir que ceux qui sont intéressés par la vaste collection de tests de sécurité disponibles dans GitLab devraient choisir la version Ultimate (et vous pouvez en savoir plus ici).

Notes complémentaires:

  • La version Premium est disponible en auto-hébergé (comme votre machine privée) ou dans le cloud public gitlab.com (la version anciennement appelée “Gold”). L’exemple ici fait référence à Auto-hébergé. Il est important de se rappeler que dans le cloud gitlab.com, certaines des fonctionnalités ci-dessus n’existent pas.
  • ** Les étapes DevOps selon GitLab:

gitlab devops lifecycle

Pour toute question sur  GitLab,les licenses et les differences   un devis ou même une license d’évaluation, contactez nous :
EGDS France – ALMtoolbox : 01 84 17 53 28, devops.fr@almtoolbox.com

 

Related Links: