Empat latihan praktikal untuk menguasai deployment. Klik setiap latihan untuk melihat langkah terperinci.
Objektif: Deploy landing page HTML (dari Fasa 3) ke Cloudflare Pages. Pelajar akan belajar sambung GitHub repository, konfigurasi build settings, dan dapatkan URL production.
dash.cloudflare.com)https://dash.cloudflare.com dan loginContinuous Deployment: Cuba ubah warna latar landing page, Git push, dan lihat Cloudflare auto-deploy dalam beberapa saat. Inilah kuasa CI/CD!
Screenshot landing page yang berjaya di-deploy
Ambil screenshot yang menunjukkan URL (contoh: landing-page-nama.pages.dev) di pelayar web, dengan halaman landing page awak kelihatan.
Objektif: Deploy portfolio peribadi ke Netlify. Pelajar akan belajar menggunakan alternative platform deployment dan mengubah nama subdomain Netlify.
app.netlify.com — guna GitHub login)https://app.netlify.com dan login dengan GitHubNetlify Forms: Cuba tambah borang HTML ke portfolio (<form netlify>). Netlify akan detect dan kendalikan form submission tanpa backend. Ajaib!
Build minutes: Netlify free tier ada 300 minit build sebulan. Jangan trigger build berkali-kali untuk perubahan kecil. Kumpul dulu perubahan, baru push sekali. Gunakan [skip ci] dalam commit message untuk elakkan auto-build.
Screenshot portfolio yang berjaya di-deploy
Ambil screenshot yang menunjukkan URL portfolio-nama.netlify.app di pelayar web dengan halaman portfolio dipaparkan. Juga screenshot dashboard Netlify yang menunjukkan site status "Published".
Objektif: Deploy projek HTML ke GitHub Pages menggunakan dua kaedah: (1) dari branch main, (2) guna GitHub Actions dan gh-pages branch. Pelajar akan faham perbezaan antara deploy dari source branch dan deploy melalui CI/CD.
Kaedah A: Deploy dari main branch (termudah)
main, folder: / (root)Kaedah B: Deploy guna GitHub Actions (gh-pages branch)
gh-pages branch: GitHub Actions akan deploy ke branch gh-pages secara automatik. Branch ini mengandungi fail yang siap untuk di-deploy. Jangan edit branch ini secara manual.
Screenshot projek yang berjaya di-deploy ke GitHub Pages
Ambil screenshot halaman GitHub Settings → Pages yang menunjukkan URL projek awak (contoh: username.github.io/repo-name/). Juga screenshot projek yang dipaparkan di pelayar web.
Objektif: Setup custom domain (domain sendiri) untuk projek yang telah dideploy, dan sahkan HTTPS berfungsi secara automatik. Latihan ini membolehkan pelajar memahami asas DNS, CNAME records, dan SSL/TLS certificates.
Nota: Latihan ini memerlukan domain sendiri. Jika tiada, gunakan domain percuma seperti .freeservers.com atau beli domain murah (.xyz sekitar RM5-10/tahun). Alternatif: gunakan subdomain dari platform deployment.
Untuk Cloudflare Pages (dengan domain di Cloudflare):
portfolioku.com)Untuk Netlify (dengan domain dari registrar lain):
https://www.ssllabs.com/ssltest/ dan test domain awak — dapatkan grade A atau A+http:// (tanpa S) — pastikan auto-redirect ke https://DNS Propagation Checker: Guna https://whatsmydns.net untuk semak sama ada DNS records sudah propagate ke seluruh dunia. Masukkan domain awak dan pilih record type (CNAME atau A).
Peringatan: DNS propagation boleh ambil masa 5 minit hingga 48 jam. Jangan panik jika site tak muncul serta-merta. Guna whatsmydns.net untuk semak status propagation. Cuba flush DNS: ipconfig /flushdns (Windows) atau sudo dscacheutil -flushcache (Mac).
Screenshot domain dengan HTTPS berfungsi
Ambil screenshot yang menunjukkan: (1) domain awak di address bar, (2) ikon 🔒 hijau di sebelah URL, (3) halaman web dipaparkan dengan betul. Screenshot kedua: hasil dari whatsmydns.net yang menunjukkan DNS sudah propagate.
Tahniah! Selepas menyelesaikan keempat-empat latihan ini, anda akan:
Langkah seterusnya: Cuba deploy projek full-stack (dengan backend) ke Railway atau Render!