Pakai Laravel LTS, perlu upgrade gak?


So, sudah hampir 5 tahun terakhir ini saya menggunakan Laravel sebagai framework utama dalam kerjaan sehari-hari. Sejauh ini cukup nyaman pakenya, dan merasa cocok banget sama slogannya mereka: “framework for web artisan”. Awal pakai kalau gak salah sekitar tahun 2015, dan versi yang pertama kali dipakai untuk projek beneran adalah versi 5. Saat itu versioning-nya masih yang lama, belum pakai semantic versioning kayak sekarang.

Tentang versioning di Laravel ini pernah saya bahas di webinar Skydu Academy, bisa lihat rekamannya di sini. Ringkasannya kurang lebih seperti ini:

  • Rilis besar (major release) tiap 6 bulan. Sekitar Maret & September tiap tahun.
  • Rilis versi LTS tiap 2 tahun (per 4x major release), sesuai dengan lamanya official support untuk LTS

Versi LTS terakhir adalah versi 6, dirilis sekitar September 2019. Berdasar info di atas, maka LTS selanjutnya kemungkinan besar terjadi di Laravel 10, yang akan dirilis sekitar September 2021. Masih lama ya.

Walau keliatannya masih lama, untuk yang punya aplikasi pakai Laravel 6 dan udah live di production, sebaiknya mulai diupgrade setiap ada versi baru. Kenapa? Salah satunya supaya nanti ketika ada versi LTS berikutnya (misal versi 10), gak terlalu sulit untuk upgrade, dibanding langsung upgrade dari 6 ke 10.

Nanti aplikasi yang di prod bisa jadi gak stabil dong, gara2 diupgrade terus?

Bisa jadi. Nah, kalau saya sih mikirnya tetep di-upgrade, tapi dibikin branch terpisah aja dari branch untuk dev & prod. Jadi untuk operasional dev ataupun prod ya tetep pake versi yg LTS. Terus bikin branch baru, misal framework-upgrade, nah di situ aja upgradenya disimpen.

Selama development, semua perubahan di branch dev, dimerge juga ke branch upgrade itu. Nanti ketika muncul versi LTS yang baru, dilakukan upgrade di branch tersebut, kemudian tinggal merge deh ke dev. Jadi gak repot-repot lagi mesti upgrade satu versi-satu versi, atau melakukan risky move dengan upgrade langsung loncat antar LTS.

Gitu sih yang kepikiran saat ini. Bisa jadi ada pendekatan yang lebih baik, sangat mungkin akan diupdate nantinya.

comments powered by Disqus