SonarqubeとDockerであなたのコードを分析してください
6385 ワード
私はいくつかの私の友人の側の活動としての時間からコードベースでコードレビューを行うのに役立ちます.使いました
SonarQube あなたのコードのバグ、脆弱性、コードのにおいを検出するための自動コードレビューツールです.それはあなたの既存のワークフローと統合することができますあなたのプロジェクトの支店間で連続的なコード検査を有効にし、要求をプルします.
これは、プロジェクトを作成し、プラグインを追加し、既存のものを更新のような設定を適用するサーバーコンポーネントがあります.それから、それがあなたのコードベースをスキャンして、Sonarqubeダッシュボードに示すために結果をサーバーに送るスキャナ・コンポーネントが、あります.
Sonarqubeの複数のバージョンがありますが、我々は使用するつもりですcommunity edition 無料でオープンソースです.
それで、更なるADOなしで、それに着きましょう.
The documentation 本当に素晴らしいです、そして、大きいですtwo minute get started これは私の手を本当の迅速にウェット得るために使用されます.しかし、すぐに私はそれが動作するように多くの依存関係をインストールする必要があることを悟った.
私は余分なインストールを避ける方法を考えていたときに突然、私の顔に笑顔が来たときに私はDocker画像も見た.
でDocker Hub , あなたが始めるために必要な情報を見つけることができますが、この記事の目的のために、私はちょうどそれを得るために単一のコマンドを使用します.
一度完了すると、起動するには、サーバーのいくつかのミスを待つ必要があります.あなたの好みのブラウザを開くことができます
デフォルトのユーザ名を
私はここでsonarqubeに深く行きたくありません、しかし、プロジェクトはスキャナによってされる走査の結果を見ることができるコードベースを表します.だから一度ログインして、ページの中央に新しいプロジェクトボタンを作成するをクリックし、ユニークなプロジェクトキーとディスプレイ名を入力します.
次のページでプロジェクトトークンの名前を入力します.これは、スキャナがサーバーに認証し、スキャンの結果を送信するために使用されるキーです.
あなたがこのページから離れて航行したならば、あなたが決してそれを見ることができないので、このキーの注意をしてください.「続行」をクリックすると、プロジェクト構成を指定できる画面が表示されます.
私は、これをTrueScriptでアングルプロジェクトで実行したかったので、私は他のものを選びました.
この時点では、スキャナをダウンロードし、名前をフォルダに展開する必要があります
完了したら、スキャナの設定ファイルを
一度完了したら、あなたは行く準備が整いました.プロジェクトルートから以下のコマンドを実行し、スキャンを終了するのを待ちます.
スキャンベースのコードベースのサイズに基づいて終了するのにしばらくかかります.しかし、一度行うと、sonarqubeダッシュボードの結果を見ることができます.
そして一度実行されると、ここにダッシュボードが見えるようになります.明らかに、私が見ていたコードベースは、少し混沌でした.
そして、あなたが問題をクリックすると、カテゴリによってそれらを参照することができますまた、ルールは、スキャンを実行するために使用.
速度に関して、私は結果に非常に満足でした.520以上のファイルとコードの数千行で私の全体のコードベースをスキャンするにはほぼ2分かかりました.
スキャン結果の用語では、私はデフォルトのルールセットに基づいて言うと、これはコミュニティ版だったと考えて、結果は少しよりも優れている
だから先に行くと、それをショットを与える、私はあなたがそれらを修正するためにしばらくの間忙しくしておくのに十分見つけることを確認してください.そして、心の中で、それはあなたにあなたにリンギングエラーを与えるだけでなく、それにも基づいて若干のセキュリティヒントを与えますOWASP top 10 同様に.
codelyzer
前に、それは非常に似ているtslint
ある意味で.でも、何か新しいものを試してみたかったSonarQube 今回はショット.イントロ
SonarQube あなたのコードのバグ、脆弱性、コードのにおいを検出するための自動コードレビューツールです.それはあなたの既存のワークフローと統合することができますあなたのプロジェクトの支店間で連続的なコード検査を有効にし、要求をプルします.
これは、プロジェクトを作成し、プラグインを追加し、既存のものを更新のような設定を適用するサーバーコンポーネントがあります.それから、それがあなたのコードベースをスキャンして、Sonarqubeダッシュボードに示すために結果をサーバーに送るスキャナ・コンポーネントが、あります.
Sonarqubeの複数のバージョンがありますが、我々は使用するつもりですcommunity edition 無料でオープンソースです.
それで、更なるADOなしで、それに着きましょう.
セットアップ
The documentation 本当に素晴らしいです、そして、大きいですtwo minute get started これは私の手を本当の迅速にウェット得るために使用されます.しかし、すぐに私はそれが動作するように多くの依存関係をインストールする必要があることを悟った.
私は余分なインストールを避ける方法を考えていたときに突然、私の顔に笑顔が来たときに私はDocker画像も見た.
でDocker Hub , あなたが始めるために必要な情報を見つけることができますが、この記事の目的のために、私はちょうどそれを得るために単一のコマンドを使用します.
docker run -d --name sonarqube -p 9000:9000 sonarqube
このコマンドはイメージを引き下げ、コンテナをコンテナから作成します.コンテナをバックグラウンドモードで実行し、ポート9000をホストに公開します.一度完了すると、起動するには、サーバーのいくつかのミスを待つ必要があります.あなたの好みのブラウザを開くことができます
localhost:9000
サーバーのダッシュボードを確認します.デフォルトのユーザ名を
admin
とパスワードadmin
ログインする.プロジェクトの作成
私はここでsonarqubeに深く行きたくありません、しかし、プロジェクトはスキャナによってされる走査の結果を見ることができるコードベースを表します.だから一度ログインして、ページの中央に新しいプロジェクトボタンを作成するをクリックし、ユニークなプロジェクトキーとディスプレイ名を入力します.
次のページでプロジェクトトークンの名前を入力します.これは、スキャナがサーバーに認証し、スキャンの結果を送信するために使用されるキーです.
あなたがこのページから離れて航行したならば、あなたが決してそれを見ることができないので、このキーの注意をしてください.「続行」をクリックすると、プロジェクト構成を指定できる画面が表示されます.
私は、これをTrueScriptでアングルプロジェクトで実行したかったので、私は他のものを選びました.
スキャナのダウンロード
この時点では、スキャナをダウンロードし、名前をフォルダに展開する必要があります
sonarqube
あなたのドライブで.通常使用c:\tools
これらの種類の使用法について(あなたが他の場所で解凍することを選んだ場合に使用するものに置き換えてください).完了したら、スキャナの設定ファイルを
sonar-scanner.properties
からc:\tools\sonarqube\config
フォルダを指定し、サーバのアドレスを指定する行をコメント解除します.#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
スキャンの実行
一度完了したら、あなたは行く準備が整いました.プロジェクトルートから以下のコマンドを実行し、スキャンを終了するのを待ちます.
C:\tools\sonar\bin\sonar-scanner.bat -D"sonar.projectKey=fp" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=**********************************" -D"sonar.exclusions=node_modules/**/*"
あなたが前のステップから得たキーをsonar.login
引数.💡 In the last step when you downloaded the scanner zip file, the command you need to execute is written down for you ready to go, just add the exclude folder to avoid code analysis on external libraries.
スキャンベースのコードベースのサイズに基づいて終了するのにしばらくかかります.しかし、一度行うと、sonarqubeダッシュボードの結果を見ることができます.
ℹ️ Remember to run
npm install
oryarn
if you've just forked the code base from yourgit
repository. I faced a few errors before I realised I didn't have those installed and they are used by the scanner.
そして一度実行されると、ここにダッシュボードが見えるようになります.明らかに、私が見ていたコードベースは、少し混沌でした.
そして、あなたが問題をクリックすると、カテゴリによってそれらを参照することができますまた、ルールは、スキャンを実行するために使用.
概要
速度に関して、私は結果に非常に満足でした.520以上のファイルとコードの数千行で私の全体のコードベースをスキャンするにはほぼ2分かかりました.
スキャン結果の用語では、私はデフォルトのルールセットに基づいて言うと、これはコミュニティ版だったと考えて、結果は少しよりも優れている
tslint
or codelyzer
. 私は簡単に問題をナビゲートすることができますどのようなコードの行の注意を必要として下さい.それは、私が構文を強調しているカテゴリーとタグのLOで結果を示しました、そこで、私はドリルダウンすることができて、私がすぐに欲しかったものを見つけることができました.だから先に行くと、それをショットを与える、私はあなたがそれらを修正するためにしばらくの間忙しくしておくのに十分見つけることを確認してください.そして、心の中で、それはあなたにあなたにリンギングエラーを与えるだけでなく、それにも基づいて若干のセキュリティヒントを与えますOWASP top 10 同様に.
Reference
この問題について(SonarqubeとDockerであなたのコードを分析してください), 我々は、より多くの情報をここで見つけました https://dev.to/yashints/analyse-your-code-with-sonarqube-and-docker-2a28テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol