{"id":245609,"date":"2022-04-07T12:26:11","date_gmt":"2022-04-07T11:26:11","guid":{"rendered":"https:\/\/blog.jetbrains.com\/qodana\/2022\/04\/introducing-qodana-for-azure-pipelines\/"},"modified":"2022-05-11T15:43:08","modified_gmt":"2022-05-11T14:43:08","slug":"presentation-de-qodana-pour-azure-pipelines","status":"publish","type":"qodana","link":"https:\/\/blog.jetbrains.com\/fr\/qodana\/2022\/04\/presentation-de-qodana-pour-azure-pipelines\/","title":{"rendered":"Pr\u00e9sentation de Qodana pour Azure Pipelines"},"content":{"rendered":"\n<p>La plateforme de contr\u00f4le de la qualit\u00e9 du code Qodana permet de d\u00e9tecter, d&#8217;analyser et de r\u00e9soudre les probl\u00e8mes de code directement dans votre syst\u00e8me d&#8217;int\u00e9gration et livraison continues. Qodana prend d\u00e9j\u00e0 en charge <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/github-actions.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub Actions<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-github-application.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub App<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/gitlab.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab CI\/CD<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-teamcity-plugin.html\" target=\"_blank\" rel=\"noreferrer noopener\">TeamCity<\/a> et <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/jenkins.html\" target=\"_blank\" rel=\"noreferrer noopener\">Jenkins<\/a>. Nous poursuivons l&#8217;expansion de nos environnements int\u00e9gr\u00e9s afin de garantir la meilleure qualit\u00e9 de code au sein du syst\u00e8me de CI\/CD que vous utilisez. Aujourd&#8217;hui, nous avons le plaisir de vous pr\u00e9senter une nouvelle extension pour <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=JetBrains.qodana\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Pipelines<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/04\/featured_image.png\" alt=\"\" class=\"wp-image-237929\"\/><\/figure>\n\n\n\n<p align=\"center\"><a class=\"jb-download-button\" title=\"Essayer gratuitement\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=JetBrains.qodana\" target=\"_blank\" rel=\"noopener noreferrer\" data-mce-href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=JetBrains.qodana\" data-mce-selected=\"inline-boundary\" data-mce-><i class=\"download-icon\"><\/i>Essayer gratuitement<\/a><\/p>\n\n\n\n<p>Les linters de Qodana sont maintenant int\u00e9gr\u00e9s \u00e0 vos r\u00e9f\u00e9rentiels DevOps Azure pour vous permettre de faire de l&#8217;analyse de code une partie int\u00e9grante de votre pipeline de build et d&#8217;assurer la maintenabilit\u00e9 et la fiabilit\u00e9 de vos projets. L&#8217;int\u00e9gration de Qodana avec Azure Pipelines se fait en seulement 2 \u00e9tapes :<\/p>\n\n\n\n<ul><li><a href=\"#install-qodana\">Installer Qodana pour Azure Pipelines<\/a><\/li><li><a href=\"#configure-qodana\">Configurer Qodana pour analyser votre code<\/a><\/li><\/ul>\n\n\n\n<p>Voyons cela en d\u00e9tail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"install-qodana\">Installer Qodana pour Azure Pipelines<\/h2>\n\n\n\n<p>Dans Visual Studio Marketplace, installez l&#8217;extension <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=JetBrains.qodana\" target=\"_blank\" rel=\"noreferrer noopener\">Qodana pour Azure Pipelines<\/a> en cliquant sur le bouton <em>Get it free<\/em>, puis cliquez sur <em>Proceed to organization<\/em> une fois l&#8217;installation termin\u00e9e.<\/p>\n\n\n\n<p>Si vous ne disposez pas des autorisations requises pour installer une extension de la marketplace, une demande d&#8217;approbation de l&#8217;installation sera envoy\u00e9e \u00e0 l&#8217;administrateur du compte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configure-qodana\">Configurer Qodana pour analyser votre code<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Configurer un pipeline qui s&#8217;int\u00e8gre avec Qodana<\/h3>\n\n\n\n<p>Avant d&#8217;analyser votre code, vous devez configurer un nouveau pipeline de build qui s&#8217;int\u00e8gre avec Qodana. Dans la fen\u00eatre Azure DevOps, allez dans <em>Pipelines<\/em> et cliquez sur <em>Create Pipeline<\/em>. Si des pipelines existent d\u00e9j\u00e0, s\u00e9lectionnez <em>New pipeline<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2146\" height=\"828\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/04\/screen1.png\" alt=\"\" class=\"wp-image-237940\"\/><\/figure>\n\n\n\n<p>Vous pouvez configurer le pipeline aussi bien avec l&#8217;\u00e9diteur YAML qu&#8217;avec l&#8217;\u00e9diteur classique. L&#8217;\u00e9diteur classique permet de profiter de mod\u00e8les pr\u00e9d\u00e9finis, tandis que l&#8217;\u00e9diteur YAML requiert d&#8217;utiliser un fichier YAML. Nous allons choisir YAML dans cet exemple.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2146\" height=\"960\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/04\/screen2.png\" alt=\"\" class=\"wp-image-237951\"\/><\/figure>\n\n\n\n<p>L&#8217;\u00e9diteur YAML s&#8217;ouvre avec le mod\u00e8le de fichier YAML. Il faut configurer la t\u00e2che <a href=\"https:\/\/github.com\/JetBrains\/Qodana\/blob\/2021.3\/topics\/qodana-azure-pipelines.md\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Qodana Scan<\/em><\/a> en modifiant votre fichier azure-pipelines.yml :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Start with a minimal pipeline that you can customize to build and deploy your code.\n# Add steps that build, run tests, deploy, and more:\n# https:\/\/aka.ms\/yaml\n\ntrigger:\n  - main\n\npool:\n  vmImage: ubuntu-latest\n\nsteps:\n  - task: Cache@2  # Not required, but Qodana will open projects with cache faster.\n    inputs:\n      key: '\"$(Build.Repository.Name)\" | \"$(Build.SourceBranchName)\" | \"$(Build.SourceVersion)\"'\n      path: '$(Agent.TempDirectory)\/qodana\/cache'\n      restoreKeys: |\n        \"$(Build.Repository.Name)\" | \"$(Build.SourceBranchName)\"\n        \"$(Build.Repository.Name)\"\n  - task: QodanaScan@1<\/pre>\n\n\n\n<p>Vous pouvez \u00e9galement trouver la t\u00e2che <em>Qodana Scan<\/em> dans la liste des t\u00e2ches de la fen\u00eatre <em>Show assistant<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2146\" height=\"828\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/04\/screen3.png\" alt=\"\" class=\"wp-image-237962\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Ex\u00e9cuter votre pipeline<\/h3>\n\n\n\n<p>Apr\u00e8s avoir apport\u00e9 les modifications n\u00e9cessaires au fichier, cliquez sur <em>Save and Run<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2146\" height=\"1216\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/04\/screen4-1.png\" alt=\"\" class=\"wp-image-237984\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Voir les r\u00e9sultats<\/h3>\n\n\n\n<p>Pour afficher le r\u00e9sum\u00e9 du rapport Qodana dans Azure DevOps, installez l&#8217;extension <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=sariftools.scans\" target=\"_blank\" rel=\"noreferrer noopener\">SARIF SAST Scans Tab de Microsoft DevLabs<\/a>. Une fois l&#8217;installation termin\u00e9e, allez dans l&#8217;onglet <em>Pipelines<\/em>, s\u00e9lectionnez le pipeline en cours d&#8217;ex\u00e9cution et d&#8217;analyse, et consultez l&#8217;onglet <em>Scans<\/em> pour plus d&#8217;informations sur la qualit\u00e9 de votre code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2146\" height=\"1182\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/04\/screen5.png\" alt=\"\" class=\"wp-image-237995\"\/><\/figure>\n\n\n\n<p>L&#8217;extension Qodana pour Azure Pipelines permet d&#8217;int\u00e9grer facilement Qodana dans votre pipeline Azure DevOps et de voir les r\u00e9sultats de l&#8217;analyse d\u00e8s la premi\u00e8re v\u00e9rification de votre code.<\/p>\n\n\n\n<p>Si vous avez des questions ou des suggestions concernant Qodana, publiez votre commentaire ici, identifiez-nous sur <a href=\"https:\/\/twitter.com\/Qodana\" target=\"_blank\" rel=\"noreferrer noopener\">Twitter<\/a> ou contactez-nous par e-mail \u00e0 qodana-support@jetbrains.com.<\/p>\n\n\n\n<p><em>L&#8217;\u00c9quipe Qodana<\/em><\/p>\n","protected":false},"author":813,"featured_media":238032,"comment_status":"closed","ping_status":"closed","template":"","categories":[89,1065],"tags":[1700,4448,6967,4068],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/qodana\/245609"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/qodana"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/qodana"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=245609"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/qodana\/245609\/revisions"}],"predecessor-version":[{"id":245626,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/qodana\/245609\/revisions\/245626"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/238032"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=245609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=245609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=245609"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=245609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}