3. Konfigurasi yang Terkendali
Konfigurasi seperti variabel lingkungan (.env), file YAML, dan pengaturan database harus diperlakukan seperti kode. Artinya, dikontrol versinya, diuji dampaknya, dan dilacak perubahannya.
- Kesalahan umum: mengubah konfigurasi langsung di server tanpa dokumentasi.
- Solusi: Gunakan Infrastructure as Code (Terraform, Ansible) dan simpan di repositori.
4. Build yang Reproducible
Satu perubahan kecil dalam dependensi bisa mengubah cara aplikasi bekerja. SCM memastikan bahwa build bisa diulang, kapan pun dan oleh siapa pun.
- Caranya: Gunakan lockfile (package-lock.json, poetry.lock, requirements.txt) dan container (Docker).
- Pastikan versi dependensi tidak berubah diam-diam.
5. Release dan Rollback yang Tertelusuri
SCM memungkinkan tim untuk melacak rilis, menyimpan tag versi, dan melakukan rollback secara cepat dan aman jika terjadi kegagalan.
- Contoh: Tag rilis v1.4.2 bisa ditandai dengan commit hash dan didokumentasikan.
- Jika rilis v1.5 bermasalah, kita tahu persis bagaimana kembali ke v1.4.2.
Studi Kasus Mini: Tim Tanpa SCM vs. Tim dengan SCM
Aspek
Tanpa SCM
Dengan SCM
Deploy rusak
Bingung siapa ubah apa
Beri Komentar
Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!