Antarmuka baris perintah untuk menjalankan analisis kode kodasi secara lokal.
Dengan satu perintah Anda bisa:
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli- * && sudo make installSetelah prasyarat dipenuhi, saatnya untuk memungkinkan konektivitas antara Bash dan Docker.
Wajib bahwa daemon diekspos tanpa TLS. Untuk melakukan itu, kunjungi Docker Settings -> General. Cukup klik pada kotak centang dengan label 'Expose Daemon di TCP: // LocalHost: 2375 tanpa TLS' dan Docker akan memuat ulang.
Sekarang saatnya untuk pergi ke pesta dan menginstal serta mengkonfigurasi klien Docker.
Jika Anda menggunakan Windows 10 (Build di atas 1803) Perintah berikut akan membuat klien Docker tersedia dari Bash sudo ln -s "/mnt/c/Program Files/Docker/Docker/resources/bin/docker.exe" /usr/local/bin/docker
Jika Anda menggunakan versi Windows 10 sebelumnya, di sini Anda dapat menemukan tutorial yang sangat mudah untuk diikuti.
Karena Anda akan menggunakan WSL, variabel docker_host perlu dikonfigurasi ke tcp://0.0.0.0:2375 , untuk melakukan itu cukup ketik perintah berikut pada pesta bash
export DOCKER_HOST=tcp://0.0.0.0:2375
Dimungkinkan juga untuk menambahkan variabel ini ke file .bashrc atau .bash_profile Anda sehingga variabel selalu siap saat Anda memulai pesta
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bash_profile
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bashrc
Jika Anda menggunakan Apple Silicon, pastikan untuk:
Use Rosetta for x86/amd64 emulation on Apple Silicon (di bawah Fitur dalam Pengembangan ) Pada titik ini, kodasi-analisis-CLI siap dipasang.
Dalam Bash, buka folder yang ingin Anda unduh alat dan ketik perintah berikut:
sudo apt-get install make
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli-*
Sekali lagi, karena penggunaan WSL, wajib menambahkan dua baris yang disorot ke makefile di direktori ini.
Sebelum bagian tes :
export DOCKER_HOST=tcp://0.0.0.0:2375
dan, di bagian instalasi :
docker login
Akhirnya, cukup ketikkan perintah berikut dan instalasi akan dimulai
sudo make install
Ketika nama pengguna Docker diperlukan, pastikan untuk menulis nama pengguna dan bukan email karena tergantung pada bagaimana Anda telah membuat akun Docker Anda, mereka mungkin berbeda.
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 >Format default untuk output CLI adalah teks dan dibagi menjadi 3 kategori:
Masalah yang dilaporkan oleh alat yang bervariasi antara 3 tingkatan yang berbeda ( Error , Warning dan Info ). Contoh:
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)
Data metrik dicetak untuk setiap file dan berisi 5 jenis data:
LOC - baris kodeCLOC - Baris kode berkomentarCC - Kompleksitas siklomatik#methods - Jumlah metode#classes - Jumlah kelasContoh:
Found [Metrics] in generic/Test.java:
CC - 33
LOC - 778
CLOC - 864
#methods - 3
#classes - 1
Setiap klon yang ditemukan dicetak dengan informasi tentang jumlah total garis, jumlah token dan semua kejadian (garis tempat ia dimulai dan di mana ia berakhir). Contoh:
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 - Jalankan analisis kodasi melalui direktori/file--help -Menampilkan semua opsi konfigurasi, maknanya dan nilai yang mungkin.--verbose -Jalankan alat dengan output verbose--tool -Pilih alat untuk menganalisis kode (misalnya Brakeman), atau "metrik", "duplikasi", "masalah" untuk hanya menjalankan kategori alat tertentu--directory -Pilih direktori yang akan dianalisis--codacy-api-base-url atau env. CODACY_API_BASE_URL - Ubah URL API Instalasi Kodasi untuk mengambil konfigurasi (misalnya instalasi perusahaan)--output -Kirim hasil output ke file--format [Default: Teks] -Ubah format output (misalnya JSON)--commit-uuid [Default: Komit terbaru dari Cabang Git Current]-Tetapkan komit UUID yang akan menerima hasil pada kodasi--skip-commit-uuid-validation [default: false]-paksa menggunakan uuid komit bahkan jika itu bukan milik cabang git saat ini.--skip-uncommitted-files-check [default: false]-lewati cek untuk file yang tidak berkomitmen di direktori analisis--upload [default: false] -Permintaan untuk mendorong hasil ke kodasi--upload-batch-size [Default: 50000]-Jumlah maksimum hasil di setiap batch untuk mengunggah ke kodasi--skip-ssl-verification [default: false]-lewati verifikasi sertifikat SSL saat berkomunikasi dengan kodasi API--parallel [default: 2] -Jumlah alat yang harus dijalankan secara paralel--max-allowed-issues [default: 0]-Jumlah masalah maksimum yang diizinkan untuk analisis berhasil--registry-address [default: kosong]-Alamat registri alternatif (misalnya artprod.mycompany/)--fail-if-incomplete [default: false]-Gagal analisis jika ada alat yang gagal berjalan--allow-network [default: false]-Izinkan akses jaringan, jadi alat yang membutuhkannya dapat dijalankan (misalnya FindBugs)--force-file-permissions [default: false]-memaksa file dapat dibaca dengan mengubah izin sebelum menjalankan analisis--tool-timeout [Default: 15 menit]-Waktu maksimum Setiap alat harus dijalankan (misalnya 15 menit, 1 jam)--max-tool-memory [Default: 3G]-Maksimal memori yang diizinkan untuk setiap eksekusi alat (dalam byte atau menggunakan notasi bendera batas memori Docker)--tmp-directory [Opsional]-Direktori sementara untuk tujuan analisis--gh-code-scanning-compat [default: false]-mengurangi keparahan masalah pada satu tingkat, untuk masalah non-keamanan , untuk kompatibilitas dengan fitur pemindaian kode GitHub. Opsi ini hanya akan memiliki efek saat digunakan bersama dengan --format sarif . Perhatikan bahwa dalam hal ini, masalah yang sama di sisi kodasi akan memiliki prioritas yang lebih tinggi.validate-configuration - Validasi file konfigurasi kodasi--directory -Pilih direktori tempat mencari file konfigurasi kodasiCODACY_ANALYSIS_CLI_VERSION [default: stabil] - Tetapkan versi alternatif CLI yang akan dijalankan. (mis. Terbaru, 0.1.0-alpha3.1350, ...)SKIP_CONTAINER_ENGINE_CHECK [default: false] - Lewati tes awal untuk keberadaan soket Docker (berguna saat berjalan dalam sistem yang tidak memiliki soket Docker tersedia)Untuk melakukan konfigurasi lanjutan tertentu, Codacy memungkinkan untuk membuat file konfigurasi. Periksa dokumentasi kami untuk detail lebih lanjut.
Untuk menjalankan analisis yang sama secara lokal yang dilakukan kodasi dalam kode Anda, Anda dapat meminta konfigurasi dari jarak jauh.
Lihat cara menghasilkan token proyek.
️ PERINGATAN: Untuk alasan keamanan, kami menyarankan agar Anda menyimpan token API proyek Anda di Variabel Lingkungan Codacy_project_token alih-alih mengatur--project-token.
codacy-analysis-cli analyze
--project-token < PROJECT-TOKEN >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > Lihat Cara Menghasilkan Token API Akun.
️ PERINGATAN: Untuk alasan keamanan, kami menyarankan agar Anda menyimpan token API akun Anda di Variabel Lingkungan CODACY_API_Token alih-alih mengatur--api-token.
Penyedia, nama pengguna, dan nama proyek dapat diambil dari URL dalam kodasi.
codacy-analysis-cli analyze
--api-token < API-TOKEN >
--provider < PROVIDER >
--username < USERNAME >
--project < PROJECT-NAME >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > Kode
CATATAN: - Kambing hitam berjalan selama kompilasi dalam pengujian, untuk menonaktifkannya, atur NO_SCAPEGOAT .
sbt compile
Tes
sbt test:compile
sbt testsbt scalafmtAll scalafmtSbtsbt dependencyUpdatessbt scapegoat
sbt scalafixsbt coverage test
sbt coverageReport
sbt coverageAggregate
export CODACY_PROJECT_TOKEN= " <TOKEN> "
sbt codacyCoverageLokal
sbt 'codacyAnalysisCli/stage'
docker build -t codacy-analysis-cli .
Lokal
sbt 'set version in codacyAnalysisCore := "<VERSION>"' codacyAnalysisCore/publishLocal
Melepaskan
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 : Perbaiki --parallel yang tidak membuat alat berjalan sebenarnya secara paralel. Untuk memulihkan penggunaan perilaku sebelumnya --parallel 1
4.0.0 : Ganti nama analyse perintah untuk analyze . Ini adalah perubahan yang melanggar jika Anda menjalankan CLI dengan menggunakan toples atau sbt , tetapi tidak jika Anda menggunakan skrip yang disediakan.
Codacy adalah platform yang memantau utang teknis Anda, membantu Anda meningkatkan kualitas kode dan keamanan Anda, mengajarkan praktik terbaik kepada pengembang Anda, dan membantu Anda menghemat waktu dalam ulasan kode. Kami membantu pengembang mengirimkan miliaran baris kode per hari dengan mengotomatisasi dan menstandarisasi ulasan kode.
Mengintegrasikan dengan mulus ke dalam alur kerja, kodasi membantu tim teknik menghemat waktu dalam ulasan kode dan menemukan, memperbaiki, dan mencegah cacat pengkodean yang sebaliknya akan ditumpuk sebagai hutang teknis. Platform kami menggunakan kecerdasan buatan untuk menyarankan perbaikan kualitas kode. Codacy mendukung 40+ bahasa & kerangka kerja dan tersedia dalam sumber terbuka gratis.
Mulailah uji coba gratis untuk mempelajari lebih lanjut.
Kodasi juga membantu melacak cakupan kode, duplikasi kode, dan kompleksitas kode.
Kodasi mendukung PHP, Python, Ruby, Java, Javascript, dan Scala, antara lain.
Kodasi gratis untuk proyek open source.