Deployment

Adi Purnama
Deployment bisa dilakukan dengan 2 cara: deploy via Continuous Integration (CI) seperti GitHub Action atau GitLab CI, atau deploy manual.
Di buku kali ini, saya coba batasi di deployment secara manual dulu. Kalau pembaca tertarik untuk deploy via CI, dokumentasinya di sini.
Untuk deploy secara manual, kita perlu menambah remote baru di repository kita.
Ganti `10.0.0.1` dengan IP server/domain pembaca yang sudah disiapkan. Setelah itu, ketik command berikut untuk deploy ke server kita.
Ganti `main` dengan nama branch utama dari repository. Biasanya, namanya `main` atau `master`.
Tunggu hingga aplikasi berhasil ter-deploy. Di tahap ini, Dokku akan menentukan jenis builder yang dipakai untuk build dan deploy aplikasi, seperti yang sudah dijelaskan di Chapter Deployment Tools.
Setelah deployment berhasil, kita perlu set domain dan TLS untuk aplikasi kita.
Setup Domain
Untuk memasang domain ke aplikasi, bisa gunakan command berikut:
Kita perlu install plugin Let's Encrypt untuk enable HTTPS. Sebelum enable HTTPS, kita perlu set email dulu.
Biasanya ini dipakai Let's Encrypt untuk remind kita via email kalau ada suatu hal, misal TLS nya mau kadaluarsa.
Setelah set email, kita bisa langsung enable HTTPS dengan command berikut:
Oiya, pastikan port 80 kita udah ke-expose ya. Kalau port container yang di-expose beda dengan port 80, perlu lakukan port mapping dulu.
Misal, container kita ternyata expose port 3000, maka replace `
Kita juga perlu set auto-renew HTTPS, sehingga kita nggak perlu repot lagi renew HTTPS tiap interval waktu tertentu.
Selesai, aplikasimu udah live!
Coba kunjungi domain kamu, untuk memastikan bahwa aplikasi kamu sudah berhasil ter-deploy dan sudah enable HTTPS. Selamat! Aplikasi pertama kamu udah live 🚀