Flutter dan SonarQube
Jika Anda memiliki aplikasi Flutter dan ingin mengetahui kualitas kode Anda atau bagian proyek mana yang perlu ditingkatkan, Anda dapat menggunakan Sonarqube untuk menganalisis kode dan melanjutkan informasi tersebut untuk Anda.
SonarQube (alias Sonar) adalah platform sumber terbuka yang mengukur kualitas kode berdasarkan analisis kode untuk mendeteksi bau kode, bug, cakupan kode, kompleksitas kode, masalah keamanan, dan sebagainya.
Pada artikel ini, saya akan menunjukkan secara detail cara menganalisis kode Flutter Anda menggunakan SonarQube dan Docker dalam langkah-langkah berikut:
- Menjalankan Sonar secara lokal
- Buat proyek Sonar
- Mengunduh Pemindai Sonar
- Menganalisis proyek Flutter Anda
- Memeriksa hasilnya
Menjalankan Sonar secara lokal
Anda dapat menjalankan Sonar secara lokal menggunakan buruh pelabuhan, untuk ini jalankan perintah docker run --rm -d -p 9000:9000/tcp edsondiasalves/sonarqube-flutter
di terminal Anda, itu akan menarik dan menjalankan gambar SonarQube dengan Plugin SonarQube Flutter sudah diinstal.
Perhatikan Plugin SonarQube Flutter tidak resmi dan gambar buruh pelabuhan yang saya gunakan ini ada di repositori buruh pelabuhan saya sendiri, silakan menggunakannya, tetapi saya tidak bertanggung jawab atas masalah apa pun yang mungkin terjadi
Untuk membuat image Sonar dan menginstal plugin sendiri, unduh plugin dan salin ke image buruh pelabuhan yang sedang berjalan:
docker cp ThePluginDownload.jar YourSonarQubeImage:/opt/sonarqube/extensions/plugins
Setelah gambar selesai ditarik dan dijalankan, gambar tersebut akan tersedia di alamat http://localhost:9000, untuk login gunakan admin sebagai penggunadan 1234 sebagai kata sandi
Saat mengklik opsi menu Administrasi dan di bagian Terpasang kita dapat melihat bahwa Plugin Flutter versi 0.4.0 terinstal
Buat proyek Sonar
Sekarang saatnya membuat Proyek Sonar kita, untuk ini klik opsi menu Proyek
Dan di tombol Tambahkan proyek di tengah halaman
Sekarang, klik Secara Manual dan berikan Kunci proyek, perhatikan bahwa nama tampilan akan diisi secara otomatis, Anda tidak perlu mengubah-
Klik tombol Siapkan, dan layar baru akan muncul yang mengharuskan Anda membuat token baru, berikan nama, lalu klik tombol Buat.
Token baru akan dibuat untuk nama token yang diberikan.
Saat mengklik tombol Lanjutkan, ini akan menunjukkan cara menjalankan analisis pada platform yang berbeda
Sekarang proyek Sonar Anda sudah dibuat.
Mengunduh SonarScanner
SonarScanner adalah alat SonarQube resmi yang akan memindai proyek Anda dan mengunggah analisisnya ke proyek Sonar Anda.
Unduh sesuai Sistem Operasi Anda dan tambahkan folder /bin ke Path
Sebagai contoh versi windows 4.7.0, sonar-scanner-cli-4.7.0.2747-windows\bin
perlu ditambahkan ke path
Untuk memastikannya baik-baik saja, jalankan sonar-scanner -v
di terminal Anda dan periksa apakah versinya akan dikembalikan dengan benar
Menganalisis proyek Flutter Anda
Sekarang, buat sonar-project.properties
di folder root Flutter Anda dan tempelkan kode berikut.
Ganti sonar.projectKey
, sonar.projectName
, dan sonar.login
dengan informasi yang diberikan saat membuat proyek Sonar sebelumnya.
Sekarang jalankan flutter test --machine --coverage > tests.output
, ini akan menjalankan tes lokal Anda dan mengekspornya ke file sebelum diunggah oleh Sonar Scanner
Terakhir, jalankan sonar-scanner
untuk memulai analisis dan mengunggahnya ke proyek Sonar Anda
Jika semuanya baik-baik saja, pesan serupa akan muncul di akhir.
Memeriksa hasilnya
Setelah menyelesaikan pemindaian, kembali ke Sonar dan tekan f5 atau masukkan proyek Anda lagi. Sekarang kita dapat melihat informasi umum utama tentang proyek tersebut.
Di tab ikhtisar, kita dapat melihat informasi lebih umum.
Jika Anda memerlukan detail lebih lanjut, jelajahi tab lainnya
Dan Voila, sudah selesai.
Seperti biasa, saya hanya menyebutkan penggunaan dasar alat ini, silakan periksa detail lebih lanjut tentang Docker, SonarQube, dan Flutter di halaman dokumentasi masing-masing.
Sekali lagi, berhati-hatilah dalam menggunakan gambar dan plugin yang disajikan dalam artikel ini, ini bukan plugin resmi dan gambar buruh pelabuhan Sonar ada di repo pribadi saya.
Semoga dapat bermanfaat bagi anda dan terima kasih sudah membacanya sampai disini, sampai jumpa lagi.