Halo, otomator digital! ⚙️
Bayangkan ini: kamu mengedit file HTML, lalu menekan git push… dan dalam hitungan detik, website-mu langsung diperbarui di internet — tanpa login ke server, tanpa perintah manual.
Itu bukan sihir — itu **GitHub Actions**!
Dengan GitHub Actions, kamu bisa:
- ✅ Menjalankan tes otomatis
- 🔄 Deploy ke server setiap kali kode berubah
- 📦 Bangun dan kirim aplikasi ke cloud
- CI (Continuous Integration): gabungkan kode & uji otomatis
- CD (Continuous Deployment): deploy otomatis ke production
GitHub Actions adalah layanan gratis dari GitHub untuk menjalankan alur kerja ini — langsung dari repositorimu!
Prasyarat
- Repositori GitHub dengan proyek website statis (misal:
index.html) - Server AWS EC2 yang sudah berjalan (dari tutorial sebelumnya)
- Kunci SSH (
.pem) yang tersedia di lokal
Langkah 1: Siapkan Akses Server untuk GitHub
GitHub perlu cara aman untuk mengakses server-mu. Kita akan gunakan **SSH key pair baru**.
- Di server AWS, buat kunci SSH khusus untuk deploy:
# Di server AWS (via SSH) ssh-keygen -t rsa -b 4096 -C "github-actions@deploy" -f ~/.ssh/github_deploy -N ""
Ini membuat:
github_deploy→ kunci privatgithub_deploy.pub→ kunci publik
- Tambahkan kunci publik ke daftar authorized keys:
cat ~/.ssh/github_deploy.pub >> ~/.ssh/authorized_keys
Langkah 2: Simpan Kunci Privat di GitHub Secrets
Jangan pernah simpan kunci di kode! Gunakan **GitHub Secrets**:
- Buka repositori GitHub-mu
- Klik Settings → Secrets and variables → Actions
- Klik New repository secret
- Nama:
SSH_PRIVATE_KEY - Nilai: salin isi file
github_deploy(kunci privat) - Klik Add secret
Langkah 3: Buat Workflow GitHub Actions
Buat folder dan file khusus untuk workflow:
mkdir -p .github/workflows nano .github/workflows/deploy.yml
Isi dengan konfigurasi berikut:
name: Deploy ke AWS
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout kode
uses: actions/checkout@v4
- name: Setup SSH
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.SERVER_IP }} >> ~/.ssh/known_hosts
- name: Deploy via SCP
run: |
scp -o StrictHostKeyChecking=no -r ./* ubuntu@${{ secrets.SERVER_IP }}:/var/www/html/
⚠️ **Catatan**: Kita akan simpan IP server sebagai secret juga.
Langkah 4: Tambahkan IP Server ke GitHub Secrets
- Di GitHub Secrets, tambahkan secret baru:
- Nama:
SERVER_IP - Nilai: alamat IP publik instance AWS-mu (misal:
54.201.123.45)
- Jangan pernah hardcode IP atau kunci di file workflow!
- Pastikan kunci SSH hanya punya akses terbatas di server
- Untuk produksi, pertimbangkan menggunakan AWS IAM Roles atau GitHub OIDC
Langkah 5: Push & Uji Otomatisasi!
Commit dan push perubahan:
git add . git commit -m "Tambah GitHub Actions untuk deploy otomatis" git push origin main
Sekarang, buka tab Actions di repositori GitHub-mu.
Kamu akan melihat workflow sedang berjalan! 🟢
Jika sukses, buka browser dan akses IP server-mu — website terbaru langsung muncul! 🌐
“Aku baru saja membuat ‘sabuk konveyor otomatis’ untuk website-ku! Setiap kali aku push kode, ia langsung tayang di internet — tanpa sentuhan manual.” 🏭✨
Kenapa Ini Revolusioner?
- ⏱️ Hemat waktu: tidak perlu login ke server setiap kali update
- ✅ Kurangi kesalahan manusia
- 🧪 Bisa tambahkan tes otomatis sebelum deploy
- 💼 Standar industri di semua perusahaan teknologi modern
Penutup
Selamat! Kamu telah menyelesaikan perjalanan luar biasa:
- Dari
whoamidi Terminal lokal… - ...sampai membangun pipeline deploy otomatis ke cloud!
Kamu sekarang memiliki keterampilan yang digunakan oleh insinyur di Google, Netflix, dan startup di seluruh dunia.
Ingat: **Masa depan teknologi bukan tentang bekerja lebih keras — tapi tentang mengotomatiskan segalanya. Dan kini, kamu tahu caranya.** 💻🚀