15 poin oleh xguru 2022-03-07 | Belum ada komentar. | Bagikan ke WhatsApp
  • Di Dockerfile, :latest merusak persyaratan terpenting dari CD, yaitu "build idempoten yang dapat direproduksi"
    → Bukan hanya membuat build gagal, tetapi juga bisa menyebabkan error di production
  • Menentukan latest di Kubernetes Pod Manifest bahkan lebih buruk
    → Di Dockerfile setidaknya masih bisa rollback, tetapi jika dilakukan di deployment manifest, ada risiko kompatibilitas rusak kapan saja saat Pod baru di-rollout
  • Di PIP, package.json, Terraform, dan lainnya, jika Anda menentukan versi minimum saja atau tidak mencantumkan versi, efeknya sama seperti menggunakan latest
  • Pastikan menggunakan fitur seperti lockfile yang disediakan framework
    • Commit lockfile ke source control
    • Saat menerapkan fitur baru/bug fix/security fix, jalankan hal seperti terraform init -upgrade lalu commit lockfile
    • Jangan memperbarui lockfile di tengah proses CI
    • Jenis-jenis lockfile
      • Terraform : .terraform.lock.hcl
      • Python : Pipfile using Pipenv
      • Node/Yarn : yarn.lock
      • Go : go.sum dan go.mod
  • Sebisa mungkin jangan lakukan dependency pulling saat runtime
    → Jadikan dependency sebagai artifact yang siap di-deploy, lalu beri versi
  • Lakukan vulnerability scanning dengan layanan seperti Twistlock / Grype

Belum ada komentar.

Belum ada komentar.