

# Ringkasan praktik terbaik
<a name="summary-of-best-practices"></a>

 Berikut ini adalah beberapa praktik terbaik berupa anjuran dan larangan untuk CI/CD. 

 Saran: 
+  Kelola infrastruktur sebagai code (IaC) 
  +  Gunakan kontrol versi untuk kode infrastruktur Anda. 
  +  Manfaatkan sistem pelacakan/pelaporan bug. 
  +  Tinjau perubahan dengan rekan Anda sebelum menerapkannya. 
  +  Bangun desain/pola kode infrastruktur. 
  +  Uji perubahan infrastruktur seperti perubahan kode. 
+  Gabungkan developer ke dalam tim terpadu beranggotakan tidak lebih dari 12 orang. 
+  Minta semua developer mengirim pembaruan kode ke cabang utama sesering mungkin, tanpa cabang fitur yang lama berjalan. 
+  Adopsi sistem pembangunan seperti Maven atau Gradle di seluruh organisasi Anda dan membuat standar pembangunan secara konsisten. 
+  Minta developer membangun pengujian unit yang mencakup seluruh dasar kode. 
+  Pastikan durasi, jumlah, dan ruang lingkup pengujian unit mencakup 70% dari keseluruhan pengujian. 
+  Pastikan pengujian unit sudah diperbarui dan tidak terbengkalai. Kegagalan dalam pengujian unit harus diperbaiki, tidak diabaikan. 
+  Perlakukan konfigurasi pengiriman berkelanjutan sebagai kode. 
+  Tetapkan kontrol keamanan berbasis peran (yaitu, siapa yang dapat melakukan apa dan kapan). 
  +  Pantau/lacak setiap sumber daya yang ada. 
  +  Perhatikan layanan, ketersediaan, dan waktu respons. 
  +  Perhatikan, pelajari, dan tingkatkan. 
  +  Bagikan akses ke semua orang di tim. 
  +  Rencanakan metrik dan pemantauan ke dalam siklus hidup. 
+  Pertahankan dan lacak metrik standar. 
  +  Jumlah pembangunan. 
  +  Jumlah deployment. 
  +  Rata-rata waktu yang diperlukan perubahan untuk mencapai produksi. 
  +  Rata-rata waktu dari tahap alur pertama ke masing-masing tahap. 
  +  Jumlah perubahan yang mencapai produksi. 
  +  Rata-rata waktu pembangunan. 
+  Gunakan beberapa alur yang berbeda untuk setiap cabang dan tim. 

 Hindari: 
+  Adanya cabang yang sudah berjalan lama dengan penggabungan besar yang rumit. 
+  Pengujian manual. 
+  Proses persetujuan, gate, tinjauan kode, dan tinjauan keamanan manual. 