Rilis situsnya: Git → CI/CD → Pages
Domainnya kini menunjuk ke edge Cloudflare — ke ketiadaan. Langkah ini soal apa yang ada di balik pintu depan itu, dan keputusan di bawahnya.
Sewa server, atau cukup push file?
Langkah yang jelas adalah menyewa komputer — VPS Hostinger — memasang nginx, mengurus sertifikat, dan melayani situs dari sana. Kami punya satu yang siap. Kami tak memakainya untuk situs. Ini alasannya.
Server berguna saat ada kode yang harus dijalankan di tiap permintaan — database yang ditanya, sesi yang dicek, halaman yang dirakit. Situs kami tak punya itu. Ia di-prerender: tiap halaman dibangun sebelumnya jadi file HTML, CSS, dan JavaScript polos. Tak ada yang perlu dijalankan — hanya file untuk dibagikan.
VPS Hostinger + nginx
- Komputer yang Anda sewa, menyala 24/7
- Anda yang patch OS, perpanjang sertifikat, jaga uptime
- Anda yang skala sendiri saat trafik melonjak
- Pas saat Anda menjalankan kode sisi-server
Cloudflare Pages
- Push file; ia mendarat di edge global
- HTTPS, penskalaan, DDoS — diurus untuk Anda
- Dilayani dari kota terdekat tiap pengunjung
- Pas untuk situs statis yang di-prerender
Situs satu-halaman yang dirender statis tak butuh SSR — tak ada yang merendernya ulang di tiap
permintaan — jadi satu mesin nganggur 24/7 untuk membagikan file statis itu alat yang salah, dan
CDN melayani file yang sama lebih cepat. Maka situsnya pindah ke Cloudflare Pages. VPS-nya tak
mubazir — ia dicadangkan untuk api.pangaea.id kelak, tempat kode server sungguhan akan tinggal.
Bagaimana sebuah perubahan tayang
Kami tak pernah mengunggah file dengan tangan. Semuanya satu push:
- Push ke
main— itu pemicunya. - GitHub Actions berjalan — memasang dependency, menjalankan typecheck, dan mem-build situs
statis ke folder
dist/(sama dengannpm run buildyang kami jalankan lokal). wranglermengunggahdist/ke Cloudflare Pages, yang menyebarkannya ke tiap edge.- Beberapa menit kemudian tayang sedunia. Deploy buruk? Roll back ke mana pun sebelumnya dengan satu klik — Pages menyimpan riwayatnya.
Pull request mendapat gerbang build + typecheck tapi tak pernah men-deploy — hanya merge ke
main yang merilis. (Apa lagi yang dilakukan tiap push — menekan bel mesin pencari — dapat
entrinya sendiri.)
Rangkaian lengkapnya — token API, dua secret, membuat project Pages, jebakan "project not found" — ada di panduan pendamping CI/CD: GitHub Actions → Cloudflare Pages →.
Tayang
Domain diarahkan, situs dirilis — https://pangaea.id jadi nyata. Apa yang sebenarnya terjadi di
setengah detik antara mengetik itu dan melihat halamannya adalah cerita mungil tersendiri:
Apa yang terjadi saat Anda mengetik URL →.
Sources