コダシーコード分析をローカルに実行するコマンドラインインターフェイス。
単一のコマンドを使用すると、次のことができます。
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli- * && sudo make install前提条件が満たされたら、BashとDockerの間の接続を可能にする時が来ました。
デーモンがTLSなしで露出していることは必須です。それを行うために、Docker Settings-> Generalに移動します。 [TCP:// localhost:2375でデーモンをExpose daemon:tls without on tls]に[デーモンを公開する]ラベルでチェックボックスをクリックすると、Dockerがリロードされます。
次に、Bashにアクセスして、Dockerクライアントをインストールして構成します。
Windows 10を使用している場合(1803を超えてビルド)、次のコマンドは、bash sudo ln -s "/mnt/c/Program Files/Docker/Docker/resources/bin/docker.exe" /usr/local/bin/dockerからDockerクライアントを利用可能にします。
Windows 10の以前のバージョンを使用している場合は、ここでは非常に簡単なチュートリアルを見つけることができます。
WSLを使用するため、変数docker_hostはtcp://0.0.0.0:2375に設定する必要があります。
export DOCKER_HOST=tcp://0.0.0.0:2375
また、この変数を.bashrcまたは.bash_profileファイルに追加して、bashを起動するときに常に変数が準備が整うようにすることもできます
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bash_profile
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bashrc
Appleシリコンを使用している場合は、必ず次のようにしてください。
Use Rosetta for x86/amd64 emulation on Apple Silicon (開発中の機能の下) この時点で、Codacy-Analysis-CLIをインストールする準備ができています。
Bashでは、ツールをダウンロードするフォルダーに移動して、次のコマンドを入力します。
sudo apt-get install make
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli-*
繰り返しますが、WSLの使用により、このディレクトリのMakeFileに2つの強調表示された行を追加することが必須です。
テストセクションの前:
export DOCKER_HOST=tcp://0.0.0.0:2375
そして、インストールで、セクション:
docker login
最後に、次のコマンドを入力するだけで、インストールが開始されます
sudo make install
Dockerのユーザー名が必要な場合は、Dockerアカウントの作成方法によっては、電子メールではなくユーザー名を記述してください。
codacy-analysis-cli analyze
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > java -jar codacy-analysis-cli-assembly-{VERSION}.jar analyze
--tool <TOOL-SHORT-NAME>
--directory <SOURCE-CODE-PATH>
# other options
sbt " codacyAnalysisCli/runMain com.codacy.analysis.cli.Main analyze --tool <TOOL-SHORT-NAME> --directory <SOURCE-CODE-PATH> "docker run
--rm=true
--env CODACY_CODE= " $CODACY_CODE "
--volume /var/run/docker.sock:/var/run/docker.sock
--volume " $CODACY_CODE " : " $CODACY_CODE "
--volume /tmp:/tmp
codacy/codacy-analysis-cli
analyze --tool < TOOL-SHORT-NAME >CLI出力のデフォルト形式はテキストであり、3つのカテゴリに分割されます。
3つの異なるレベルの間で異なるツールによって報告された問題( Error 、 Warning 、 Info )。例:
Found [Error] `Expected "#E1675A" to be "#e1675a" (color-hex-case)` in styles/variables.less:4 (Stylelint_color-hex-case)
Found [Warning] `'object short notation' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).` in scripts/main.js:28 (iterator)
Found [Info] `Missing semicolon.` in views/components/Progress.jsx:18 (asi)
メトリックデータは各ファイルに対して印刷され、5種類のデータが含まれています。
LOCコード行CLOCコードのコメントをコメントしましたCC環状複雑さ#methods methods-メソッド数#classesクラス数例:
Found [Metrics] in generic/Test.java:
CC - 33
LOC - 778
CLOC - 864
#methods - 3
#classes - 1
見つかった各クローンには、ラインの総数、トークンの数、およびすべての発生(開始場所と終了場所)に関する情報が印刷されています。例:
Found [Clone] 7 duplicated lines with 10 tokens:
generic/test.rb
l. 681 - 687
l. 693 - 699
generic/another_test.rb
l. 601 - 607
l. 193 - 199
analyze - ディレクトリ/ファイルを介してコダシー分析を実行します--helpすべての構成オプション、その意味、および可能な値を表示します。--verbose verbose出力でツールを実行します--tool - コード(Brakemanなど)を分析するツール、または「メトリック」、「複製」、「問題」を選択して、特定のツールカテゴリのみを実行する--directory - 分析するディレクトリを選択します--codacy-api-base-urlまたはEnv。 CODACY_API_BASE_URL CodacyインストールAPI URLを変更して構成を取得する(例:エンタープライズインストール)--output出力結果をファイルに送信します--format [default:text] - 出力形式を変更する(例:JSON)--commit-uuid [デフォルト:現在のgitブランチの最新のコミット] -Codacyの結果を受け取るコミットUUIDを設定します--skip-commit-uuid-validation [default:false] - 現在のgitブランチに属していなくても、コミットUUIDを使用して力を使用します。--skip-uncommitted-files-check [default:false] - 分析ディレクトリのコミットされていないファイルのチェックをスキップ--upload [default:false] - 結果をCodacyにプッシュするリクエスト--upload-batch-size [デフォルト:50000] - 各バッチの最大結果の最大数コードにアップロードする--skip-ssl-verification [デフォルト:false] - CodacyAPIと通信するときにSSL証明書の確認をスキップします--parallel [デフォルト:2] - 並行して実行するツールの数--max-allowed-issues [デフォルト:0] - 分析が成功するために許可される問題の最大数--registry-address [default:empty] - 代替レジストリアドレス(actprod.mycompany/)--fail-if-incomplete [default:false] - どのツールが実行されない場合に分析に失敗します--allow-network [default:false] - ネットワークアクセスを許可するため、必要なツールを実行できます(findbugsなど)--force-file-permissions [default:false] - 分析を実行する前に権限を変更することにより、ファイルファイルを読み取り可能--tool-timeout [デフォルト:15分] - 各ツールが実行する必要がある最大時間(15分、1時間)--max-tool-memory [デフォルト:3g] - 各ツールの実行に許容されるメモリの最大値(バイト単位またはDockerのメモリ制限フラグの表記を使用)--tmp-directory [オプション] - 分析のための一時ディレクトリ--gh-code-scanning-compat [default:false] - Githubのコードスキャン機能との互換性のために、非セキュリティの問題について、問題の重大度を1つのレベルで減らします。このオプションは--format sarifと組み合わせて使用する場合にのみ効果があります。この場合、Codacy側の同じ問題が優先度が高いことに注意してください。validate-configuration -CODACY構成ファイルを検証します--directoryコダシー構成ファイルを探す場所を選択するディレクトリを選択しますCODACY_ANALYSIS_CLI_VERSION [デフォルト:stable] - 実行するCLIの代替バージョンを設定します。 (例:最新、0.1.0-alpha3.1350、...)SKIP_CONTAINER_ENGINE_CHECK [デフォルト:false] - Dockerソケットの存在の初期テストをスキップします(Dockerソケットを使用できないシステムで実行するときに役立ちます)特定の高度な構成を実行するために、Codacyを使用すると、構成ファイルを作成できます。詳細については、ドキュメントを確認してください。
Codacyがコードで行うのと同じ分析をローカルに実行するには、構成をリモートでリクエストできます。
プロジェクトトークンの生成方法をご覧ください。
ショ和 警告:セキュリティ上の理由から、プロジェクト--project-tokenトークンを環境変数に保存することをお勧めします。
codacy-analysis-cli analyze
--project-token < PROJECT-TOKEN >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > アカウントAPIトークンを生成する方法をご覧ください。
ショ和 警告:セキュリティ上の理由から、--api-token設定ではなく、環境変数CODACY_API_TOKENにアカウントAPIトークンを保存することをお勧めします。
プロバイダー、ユーザー名、およびプロジェクト名は、CodacyのURLから取得できます。
codacy-analysis-cli analyze
--api-token < API-TOKEN >
--provider < PROVIDER >
--username < USERNAME >
--project < PROJECT-NAME >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > コード
注: -Scapegoatは、テスト中のコンパイル中に実行され、無効にしてNO_SCAPEGOATを設定します。
sbt compile
テスト
sbt test:compile
sbt testsbt scalafmtAll scalafmtSbtsbt dependencyUpdatessbt scapegoat
sbt scalafixsbt coverage test
sbt coverageReport
sbt coverageAggregate
export CODACY_PROJECT_TOKEN= " <TOKEN> "
sbt codacyCoverage地元
sbt 'codacyAnalysisCli/stage'
docker build -t codacy-analysis-cli .
地元
sbt 'set version in codacyAnalysisCore := "<VERSION>"' codacyAnalysisCore/publishLocal
リリース
sbt 'set version in codacyAnalysisCore := "<VERSION>"' 'set pgpPassphrase := Some("<SONATYPE_GPG_PASSPHRASE>".toCharArray)' codacyAnalysisCore/publishSigned
sbt 'set version in codacyAnalysisCore := "<VERSION>"' sonatypeRelease
7.0.0 :FIX --parallelは、ツールが実際に並行して実行されるようにしていませんでした。以前の動作の使用を復元するには--parallel 1
4.0.0 : analyseコマンドをanalyzeに変更します。これは、JARまたはsbtを使用してCLIを実行している場合の壊れた変更ですが、提供されたスクリプトを使用している場合はそうではありません。
Codacyは、技術的な負債を監視し、コードの品質とセキュリティを改善し、開発者にベストプラクティスを教え、コードレビューの時間を節約するのに役立つプラットフォームです。開発者は、コードレビューを自動化および標準化することにより、1日あたり数十億回のコードを出荷するのを支援します。
ワークフローにシームレスに統合すると、Codacyはエンジニアリングチームがコードレビューの時間を節約し、技術的な負債として積み重なる欠陥を見つけ、修正し、防止するのに役立ちます。当社のプラットフォームは、人工知能を使用して、コード品質の修正を提案しています。 Codacyは40以上の言語とフレームワークをサポートしており、無料のオープンソースで利用できます。
詳細については、無料の試用版を開始してください。
Codacyは、コードカバレッジ、コードの複製、およびコードの複雑さを追跡するのにも役立ちます。
Codacyは、PHP、Python、Ruby、Java、JavaScript、Scalaなどをサポートしています。
Codacyはオープンソースプロジェクトでは無料です。