Topik ini menjelaskan cara merancang strategi deteksi yang memenuhi kebutuhan bisnis Anda.
Layanan deteksi kode menggunakan resource pipeline Flow. Jumlah eksekusi konkuren dan waktu proses dihitung berdasarkan resource pipeline Anda. Anda dapat menggunakan layanan ini dalam kuota sumber daya Anda. Jika penggunaan melebihi kuota, Anda dapat mengaktifkan penagihan pay-as-you-go untuk mendapatkan lebih banyak resource waktu proses. Untuk informasi selengkapnya, lihat Aturan pay-as-you-go.
Langkah 1: Buat strategi deteksi
-
Masuk ke halaman utama Codeup. Di panel navigasi sebelah kiri, pilih .

-
Konfigurasikan strategi deteksi.
Platform menyediakan beberapa strategi bawaan. Anda juga dapat menyalin strategi yang sudah ada atau membuat strategi baru sesuai kebutuhan.
-
Built-in strategy
Anda dapat menyalin strategi bawaan atau membuat strategi sendiri sesuai kebutuhan.
Di daftar sebelah kiri, pilih strategi bawaan (misalnya, Python recommended detection strategy). Anda dapat mengklik Copy/edit strategy di pojok kanan atas untuk menyalin dan menyesuaikan strategi tersebut, atau klik tombol Copy strategy untuk menyalinnya dengan cepat. Anda juga dapat mengklik Add rule untuk menambahkan paket aturan baru ke dalam strategi.

-
Copy a strategy
Pilih strategi deteksi yang direkomendasikan untuk disalin. Di kotak dialog Add detection strategy yang muncul, pilih Copy an existing strategy, masukkan Strategy name dan Strategy description, pilih strategi target dari daftar drop-down Select strategy, lalu klik OK.
-
Create a new detection strategy. Di kotak dialog Add detection strategy, pilih Create a new strategy, masukkan Strategy name dan Strategy description. Di area Add rule package, pilih bahasa (misalnya, TypeScript, Node.js, Python, Go, C/C++, atau Lua). Kemudian, klik Add rule package untuk memilih paket aturan yang diperlukan dari daftar untuk bahasa yang sesuai, lalu klik OK.
-
Langkah 2: Sesuaikan konten strategi
Setelah memilih strategi deteksi, Anda dapat menyesuaikan aturan dan konfigurasinya sesuai kebutuhan.
Pembuat strategi atau administrator organisasi Codeup dapat mengedit dan menghapus strategi tersebut. Pengguna lain hanya dapat melihat dan menyalinnya.
-
Sesuaikan konten aturan deteksi.
Untuk setiap aturan, Anda dapat mengedit tingkat keparahannya. Beberapa aturan juga memungkinkan Anda menyesuaikan parameter deteksi, seperti menggunakan ekspresi reguler untuk membatasi cakupan deteksi. Anda juga dapat menonaktifkan aturan yang tidak sesuai atau mengaktifkannya kembali.
PeringatanMenonaktifkan suatu aturan memiliki efek berikut:
-
Isu yang ditemukan oleh aturan tersebut akan ditutup secara otomatis setelah eksekusi deteksi berikutnya.
-
Saat menjalankan strategi deteksi saat ini, aturan tersebut tidak dieksekusi.
Sebagai contoh, klik suatu aturan untuk membuka kotak dialog edit. Anda kemudian dapat menyesuaikan tingkat keparahan di daftar drop-down Severity level (critical, warning, atau suggestion), atau mengonfigurasi parameter ekspresi reguler khusus di detail aturan.
-
-
Asosiasikan strategi deteksi dengan tugas deteksi. Di halaman detail strategi deteksi, buka tab Associated code. Jika belum ada tugas deteksi yang diasosiasikan, klik tombol Create detection task untuk mengasosiasikannya.
Buat tugas deteksi baru. Di kotak dialog Create detection task yang muncul, pilih Code source type (misalnya, Codeup), pilih code repository dan detection strategy, pilih Trigger method (misalnya, on commit atau on merge request), lalu klik Create and execute.
-
Semua perubahan pada strategi deteksi dicatat dalam riwayat perubahan strategi tersebut.
-
Sesuaikan pengaturan strategi deteksi.
Di halaman Settings rencana, Anda dapat mengubah nama rencana, memasukkan deskripsi, mengonfigurasi daftar putih file untuk deteksi, lalu klik Save.
File dalam path yang termasuk daftar putih akan dilewati secara otomatis selama deteksi.
PentingSebelum menghapus strategi, pastikan strategi tersebut tidak diasosiasikan dengan tugas deteksi apa pun. Jika masih terasosiasi, Anda harus memutuskan asosiasinya terlebih dahulu untuk menghindari gangguan pada tugas yang sedang berjalan.
Langkah 3: Asosiasikan strategi dengan repositori kode
Setelah mengasosiasikan strategi dengan repositori kode, strategi tersebut menjadi tugas deteksi yang dapat dijalankan. Anda dapat membuat maksimal satu tugas deteksi per repositori kode. Tugas ini dapat dijalankan beberapa kali pada branch yang berbeda.
-
Buka dan klik Create detection task. Di halaman Detection tasks, Anda dapat melihat status eksekusi dan statistik deteksi dari tugas yang sudah ada.
-
Pilih konfigurasi tugas deteksi yang sesuai. Di daftar drop-down Detection strategy, Anda dapat memilih strategi bawaan (seperti Java recommended detection strategy atau Python recommended detection strategy) atau strategi kustom.
-
Selain pemicu manual, Anda dapat mengatur pemicu otomatis untuk tugas deteksi, termasuk pemicu commit dan pemicu merge request. Jika Anda memilih pemicu commit, Anda harus menentukan branch yang akan dipantau, dan ekspresi reguler didukung. Jika Anda memilih pemicu merge request, setiap merge request di repositori akan memicu pemindaian terhadap perubahan kode antara branch sumber dan branch tujuan.
Langkah 4: Lihat hasil deteksi
-
Lihat hasil di tugas deteksi.
Buka tugas deteksi, pilih Overview, lalu lihat hasil deteksi penuh terbaru yang berhasil dan daftar isu untuk branch saat ini.
-
Tab Overview berisi:
-
Hasil deteksi: Status lulus/gagal, beserta jumlah isu yang sesuai dan ambang batas quality gate.
-
Ikhtisar isu: Jumlah isu yang belum terselesaikan dan yang telah terselesaikan.
-
Distribusi tingkat keparahan isu: Distribusi isu critical, warning, dan suggestion.
-
Distribusi jenis isu: Distribusi isu keamanan dan standar pengkodean.
-
Distribusi berdasarkan kontributor: Jumlah berbagai jenis isu yang diperkenalkan oleh pengguna berbeda.
-
Aturan dengan isu paling kritis: Peringkat aturan yang memicu paling banyak isu kritis.
-
Tren isu: Tren isu yang belum terselesaikan untuk setiap tingkat keparahan.
-
-
Daftar isu
Daftar isu diurutkan berdasarkan tingkat keparahan dan status resolusi. Klik baris isu untuk melihat detailnya. Anda dapat mengabaikan suatu isu agar tidak dilaporkan lagi di branch tersebut.
-
Riwayat eksekusi
Layanan deteksi kode berjalan di pipeline Flow. Jika eksekusi deteksi gagal, Anda dapat mengklik View run log di halaman tersebut untuk membuka Flow dan melihat log error guna melakukan pemecahan masalah.
Jika eksekusi deteksi terbaru gagal, halaman detail tugas deteksi akan menyimpan hasil eksekusi terakhir yang berhasil dan menampilkan peringatan dengan waktu kegagalan. Anda dapat membuka log eksekusi untuk menyelidiki dan menyelesaikan masalah tersebut.
-
-
Lihat hasil deteksi di commit dan merge request repositori kode.
-
Hasil deteksi commit
Di tampilan commit dan branch, jika commit tertentu memiliki hasil deteksi kode, Anda dapat melihatnya dengan cepat pada kartu di daftar. Klik kartu tersebut untuk melihat detail isunya.
-
Hasil deteksi merge request
Jika pemicu merge request dipilih, Anda dapat melihat hasil pemindaian otomatis di daftar merge request dan di bagian kondisi merge pada detail merge.
Setelah eksekusi selesai, klik View Details untuk melihat isu yang terdeteksi di tampilan perubahan file pada merge request saat ini. Klik suatu isu untuk langsung menuju baris kode yang sesuai.
-
FAQ
1. Tetapkan checkpoint merge request
Layanan deteksi kode berfungsi sebagai alat bantu dalam tinjauan kode. Layanan ini mengurangi biaya tinjauan manual dengan memindai secara otomatis isu standar pengkodean dan kerentanan keamanan serta menyorotnya.
Di merge request, selain tinjauan manual, Anda dapat mengatur deteksi kode sebagai checkpoint sebelum menggabungkan kode. Jika pemindaian tidak lulus berdasarkan quality gate yang dikonfigurasi, pengguna tidak dapat menggabungkan kode tersebut. Hal ini mencegah kode yang tidak memenuhi standar kualitas digabungkan ke branch produksi.
Langkah 1: Atur ambang batas quality gate
Pertama, atur ambang batas quality gate yang diinginkan untuk checkpoint tersebut.
Di tugas deteksi untuk repositori saat ini, Anda dapat menemukan pengaturan quality gate merge request. Secara default, tidak diperbolehkan adanya isu kritis, dan tidak ada batasan untuk isu warning atau suggestion. Anda dapat memodifikasi pengaturan ini sesuai kebutuhan bisnis Anda.
Langkah 2: Konfigurasi checkpoint branch yang dilindungi
Selanjutnya, klik "Go to set up merge request checkpoint", atau buka Repository settings > Branch settings > Protected branch rules.
Buat aturan branch yang dilindungi baru untuk branch yang ingin Anda lindungi, pilih nama branch, aktifkan 'Require automated checks to pass before merging' di pengaturan aturan, lalu pilih tugas deteksi kode.
Penanganan tugas deteksi checkpoint yang dihapus
Jika tugas deteksi telah diatur sebagai checkpoint, checkpoint merge request tetap aktif meskipun tugas tersebut dihapus secara manual. Hal ini mencegah kode yang tidak dipindai digabungkan ke branch yang dilindungi.
Dalam kasus ini, checkpoint untuk tugas deteksi lama yang telah dihapus akan menampilkan status 'Failed'. Administrator harus membuat tugas deteksi baru di repositori saat ini. Tugas baru tersebut secara otomatis menggantikan tugas lama dan menjadi checkpoint merge request yang aktif.
2. Hitung konsumsi resource
Pemindaian menggunakan resource pipeline Flow, yang menentukan jumlah eksekusi konkuren dan waktu proses. Anda dapat menjalankan pemindaian dalam kuota resource pipeline Anda. Jika penggunaan melebihi kuota, Anda dapat mengaktifkan penagihan pay-as-you-go untuk mendapatkan lebih banyak resource pipeline.
Anda dapat melihat detail konsumsi resource Anda untuk bulan ini di Resources yang terletak di pojok kiri bawah halaman Alibaba Cloud DevOps Pipeline Flow.
3. Nonaktifkan deteksi kode
Saat Anda menghapus tugas deteksi dari repositori kode, pipeline sistem yang terkait juga akan dihapus secara otomatis.
Di halaman detail tugas deteksi, klik Task Settings lalu klik Delete di area Delete Task di bagian bawah tab Basic Information.