Alat Analisis Kode Docker (CAT) adalah gambar Sonarqube Docker yang berisi konfigurasi dan plugin khusus untuk mewujudkan analisis kode.
Sonarquce adalah platform terbuka untuk mengelola kualitas kode.
Proyek ini adalah perangkat lunak gratis; Anda dapat mendistribusikannya dan/atau memodifikasinya berdasarkan ketentuan lisensi publik umum GNU seperti yang diterbitkan oleh Free Software Foundation; Baik versi 3 lisensi, atau (di opsi Anda) versi selanjutnya.
Anda bisa mendapatkan sonarquce di github: sonarsource/sonarqube.
Temukan ID Grup untuk memungkinkan analisis sonarqube (untuk plugin sonar cnes scan):
getent group <group_name> | cut -d : -f3 Untuk mencapai ID grup dari nama grup yang dikenal;cat /etc/group untuk mendaftarkan semua ID grup. ❗ Grup ini harus memiliki izin read dan execution pada semua proyek untuk dianalisis (untuk menelusuri dan menganalisis semua file) dan write izin pada akar ruang kerja (untuk menjalankan alat C/C ++ dan pemindai sonar).
Temukan versi yang ingin Anda gunakan di Dockerhub: https://hub.docker.com/r/lequal/docker-cat atau cukup gunakan gambar latest yang sesuai dengan cabang master dari proyek ini.
Jalankan wadah kucing Docker:
docker pull lequal/docker-cat
docker run --rm --name=cat -v < your_folder > :/media/sf_Shared:rw -p 9000:9000 -e ALLOWED_GROUPS= " <GID_1>;<GID_2>;<GID_...> " lequal/docker-cat: < version > ❗ Contoh ini menggunakan opsi --rm jadi ketika wadah akan berhenti dan akan dihancurkan dengan semua datanya.
❗ Hindari menggunakan 0 sebagai GUID (misalnya: -e ALLOWED_GROUPS=0 ): Ini dapat menyebabkan konflik dengan pengguna root container.
Anda dapat login Sonarqube Docker Cat sebagai administrator dengan kredensial sonarqube default. Karena tidak diamankan (semua orang mengetahuinya!), Pastikan untuk menjalankan Docker Cat di lingkungan yang diamankan atau mengubah kredensial default.
adminadminSebagai administrator Anda dapat mengubah konfigurasi apa pun yang Anda inginkan sebagai nilai default, aturan yang diaktifkan atau kondisi gerbang kualitas ...
Secara default, Docker Cat menggunakan database H2 tertanam yang diintegrasikan ke Sonarqube: tidak boleh digunakan untuk penggunaan jangka panjang. Itu sebabnya jika Anda berharap untuk menyimpan data Anda untuk sementara waktu, Anda harus mempertimbangkan untuk menyiapkan database yang lebih kuat seperti yang dijelaskan dalam dokumentasi resmi.
Setelah wadah aktif, Anda dapat menggunakan antarmuka web yang disediakan oleh Sonar CNES Scan Plugin untuk menjalankan analisis langsung melalui browser web Anda. #Todo
<your_folder>Agar dapat dijangkau oleh semua alat yang disertakan, kode sumber Anda harus ditempatkan dalam volume Docker yang dipasang sebelumnya dan grup yang Guid telah diberikan kepada
-e ALLOWED_GROUPS=...parameter harus memiliki izin pada seluruh direktori.
❗ Jika Anda menghadapi beberapa kesulitan dengan izin pada file dalam volume yang dipasang (karena konfigurasi sistem Anda), Anda dapat secara langsung menyalin kode Anda ke dalam wadah. Jalankan perintah docker run dengan menghapus opsi -v atau --volume dan salin direktori Anda di direktori /media/sf_Shared dari wadah dengan menggunakan perintah ini docker cp <my_directory> cat:/media/sf_Shared .
Cukup buka browser web favorit Anda dan akses antarmuka Sonarqube dengan mengetikkan Docker Cat IP/URL diikuti oleh
:dan port yang dipetakan ke port 9000 dari wadah. Jika Anda memulai Docker Cat di workstation Anda dengan perintah default yang diusulkan sebelumnya, Anda harus memiliki ketikhttp://localhost:9000di bilah alamat Anda.
Ketika Sonarqube telah dimuat, klik
Moredi toolbar atas hitam dan pilihCNES Analysis. Halaman baru harus muncul dengan formulir analisis.

Isi formulir dengan memperhatikan:
- Bidang dengan tanda bintang merah: mereka wajib
- Bidang
Workspace: Secara default biarkan poin.di bidang ini. Jika Anda ingin membatasi ruang lingkup analisis, ketik jalur relatif dari direktori/mnt/sf_Shared.- Bidang
Workspace: Secara default biarkan poin.di bidang ini. Jika Anda ingin membatasi file/path yang dianggap sebagai file sumber (dengan oposisi untuk menguji file), ketikkan daftar jalur relatif yang dipisahkan koma mulai dari direktoriWorkspace.Run C/C++ tools: Nyalakan tombol THS jika Anda ingin menjalankan alat tertanam (CPPCheck, Vera ++ dan tikus). Jika Anda menganalisis kode C atau C ++ dan Anda sudah memiliki hasil CPPCHECK, VERA ++ atau tikus di direktori kerja Anda, Anda dapat menggunakan bidangsonar-project.propertiesuntuk menunjuk lokasi hasil ini dan mematikan analisis. Lihat dokumentasi SONAR-CXX untuk informasi lebih lanjut.sonar-project.propertiesField: Gunakan bidang ini untuk menambahkan konfigurasi yang lebih canggih. Lihat dokumentasi resmi.

Cukup klik tombol
Analyzedi bagian bawah halaman untuk menjalankan analisis. Saat berhasil dijalankan, unduhan arsip harus dimulai di browser web Anda. Ini berisi semua hasil analisis Anda. Jika Anda sudah memiliki analisis dalam instance CAT Anda, Anda dapat meregenerasi laporan tanpa analisis kembali dengan menggunakan Formulir dalamMore>CNES Report.
Anda dapat menjalankan analisis dengan metode klasik dengan menggunakan salah satu pemindai yang disediakan oleh SonarSource. Anda hanya perlu memberikan URL atau IP di mana Docker Cat telah diluncurkan dan port pencocokan yang Anda berikan dalam perintah Docker Anda untuk Port 9000 . Untuk informasi lebih lanjut, gunakan pemindai SonarSource seperti yang dijelaskan dalam dokumentasi resmi.
❗ Dengan metode ini, alat autolaunched seperti cppcheck mungkin tidak berfungsi, jika tidak diatur dengan benar.
Sistem operasi daftar tabel ini di mana Docker Cat telah diuji (ditandai sebagai ✔️) atau tidak (ditandai as❓) atau tidak didukung (ditandai sebagai).
| Versi Kucing Docker | Linux (Centos & Debian) | Mac OS | Windows |
|---|---|---|---|
3.2.2 | ✔️ | ❓ | ❓ |
3.0.0 | ✔️ | ❓ | ❓ |
2.1.0 | ✔️ | ❓ | ❓ |
2.0.2 | ✔️ | ❓ | ❓ |
2.0.1 | ✔️ | ❓ | ❓ |
< 2.0.0 | ✔️ | ❓ | ✔️ |
Perangkat lunak baru dan diperbarui ditandai dengan emoji?
| Peralatan | Versi |
|---|---|
| ? Sonarqube-Catlab | 3.2.2 |
| ? Pemindai Sonar | 5.0.1.3006 |
| ? CPPCHECK | 2.13.0 |
| ? i-code cnes | 4.1.2 |
| ? Python3 | 3.10.4 |
| ? Pip | 22.0.2 |
| ? setuptools-scm | 8.0.4 |
| ? Pytest-Runner | 6.0.1 |
| ? membungkus | 1.16.0 |
| enam | 1.16.0 |
| ? Proxy malas-objek | 1.10.0 |
| McCabe | 0.7.0 |
| ? Isort | 5.13.2 |
| ? TYPED-AT | 1.5.5 |
| astroid | 2.15.2 |
| Pylint | 2.17.2 |
| cnes-pylint-ekstensi | 6.0.0 |
| membuat | 4.3 |
| GCC | 4: 11.2.0 |
| Kerang | 0.8.0 |
Jika Anda mengalami masalah dengan plugin, buka masalah. Di dalam masalah ini tolong jelaskan cara mereproduksi masalah ini dan tempel log.
Jika Anda ingin melakukan PR, silakan letakkan di dalamnya alasan permintaan tarik ini. Jika permintaan tarikan ini memperbaiki masalah, silakan masukkan jumlah masalah atau jelaskan di dalam PR bagaimana mereproduksi masalah ini.
Semua detail tersedia dalam kontribusi.
Bug dan permintaan fitur: https://github.com/cnescatlab/docker-cat/issues
Lisensi di bawah Lisensi Publik Umum GNU, Versi 3.0