Stmikkomputama.ac.id – Dalam dunia pengembangan perangkat lunak modern, istilah CI/CD (Continuous Integration dan Continuous Deployment/Delivery) semakin sering kita dengar. CI/CD adalah praktik otomatisasi dalam proses integrasi kode, pengujian, hingga deployment aplikasi agar lebih cepat, konsisten, dan minim error.
Dulu, developer harus melakukan build, testing, dan deploy secara manual. Proses ini tidak hanya memakan waktu, tetapi juga rentan kesalahan manusia. Dengan adanya GitHub Actions, semua proses tersebut bisa dijalankan otomatis langsung dari repository GitHub kita. Hal ini membuat GitHub Actions menjadi solusi populer, terutama bagi developer pemula yang ingin belajar otomatisasi dengan mudah.
Artikel ini akan membahas konsep dasar CI/CD, mengenalkan GitHub Actions, dan memberikan tutorial langkah demi langkah untuk membuat workflow sederhana.
Apa itu CI/CD?
Sebelum mulai praktik, mari pahami dulu konsepnya:
- Continuous Integration (CI)
– Proses otomatis menggabungkan kode dari beberapa developer ke dalam repository utama.
– Biasanya diikuti dengan build dan testing otomatis untuk memastikan kode baru tidak merusak sistem.
- Continuous Deployment/Delivery (CD)
– Proses otomatis merilis kode yang sudah lolos pengujian ke server produksi atau staging.
– Deployment dilakukan secara konsisten tanpa campur tangan manual.
Apa itu GitHub Actions?
GitHub Actions adalah fitur bawaan GitHub yang memungkinkan developer membuat workflow otomatis berdasarkan event tertentu di repository, misalnya:
– Push kode ke branch tertentu.
– Membuat pull request.
– Menambahkan tag atau release baru.
Kelebihan GitHub Actions:
– Gratis untuk public repository.
– Mendukung banyak bahasa pemrograman (Node.js, Python, Java, Go, dll).
– Mudah dikustomisasi dengan YAML file.
– Bisa menggunakan marketplace untuk action siap pakai.
Persiapan Awal
Sebelum mulai membuat workflow, pastikan Anda sudah memiliki:
1. Akun GitHub.
2. Repository project (misalnya aplikasi sederhana dengan Node.js atau Python).
3. File konfigurasi project (misalnya package.json untuk Node.js atau requirements.txt untuk Python).
Membuat Workflow CI/CD dengan GitHub Actions
1. Struktur File
Semua workflow GitHub Actions disimpan di folder khusus:
bash
.github/workflows/
Di dalam folder ini, kita bisa membuat file YAML (misalnya ci.yml) untuk mendefinisikan alur CI/CD.
2. Contoh Workflow Sederhana (Node.js)
Berikut contoh file .github/workflows/ci.yml:
yaml
name: CI Pipeline
on:
push:
branches: [ “main” ]
pull_request:
branches: [ “main” ]
jobs:
build:
runs-on: ubuntu-latest
steps:
– name: Checkout repository
uses: actions/checkout@v3
– name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ’18’
– name: Install dependencies
run: npm install
– name: Run tests
run: npm test
Penjelasan :
– on → workflow akan berjalan setiap kali ada push atau pull request ke branch main.
– jobs → kumpulan langkah yang harus dijalankan.
– runs-on → sistem operasi virtual yang digunakan (Ubuntu).
– steps → langkah-langkah yang dijalankan, misalnya checkout repo, setup Node.js, install dependency, lalu menjalankan test.
3. Menambahkan Deployment (Opsional)
Jika ingin langsung deploy setelah test, tambahkan langkah deployment. Misalnya untuk deploy ke GitHub Pages:
yaml
– name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist
Atau untuk server lain(misalnya VPS), bisa pakai action scp atau rsync yang tersedia di GitHub Marketplace.
Menjalankan Workflow
Setelah file workflow disimpan dan dipush ke repository, GitHub akan otomatis menjalankannya.
– Cek hasilnya di tab Actions pada repository.
– Jika ada error, GitHub menampilkan log detail yang memudahkan debugging.
Best Practices untuk CI/CD Pemula
- Selalu jalankan testing otomatis sebelum deployment.
2. Pisahkan job untuk build, test, dan deploy agar lebih mudah di-maintain.
3. Gunakan secrets GitHub untuk menyimpan API key atau credential agar tetap aman.
4. Gunakan workflow yang ringan untuk public repo agar tidak boros kuota.
Kesimpulan
CI/CD adalah praktik penting yang membuat pengembangan aplikasi lebih cepat, aman, dan stabil. Dengan GitHub Actions, developer pemula bisa memulai otomatisasi dengan sangat mudah tanpa perlu tool tambahan.
Dalam artikel ini, kita sudah mempelajari:
– Konsep CI/CD.
– Pengenalan GitHub Actions.
– Cara membuat workflow sederhana.
– Tips best practice agar pipeline lebih optimal.
Mulailah dengan workflow sederhana (build & test), lalu tingkatkan secara bertahap ke deployment otomatis. Dengan begitu, Anda akan merasakan manfaat nyata dari CI/CD dalam pengembangan aplikasi sehari-hari. 🚀
Sumber
– https://www.dicoding.com/blog/mengenal-ci-cd-dalam-pengembangan-perangkat-lunak/
– https://www.codepolitan.com/mengenal-ci-cd-dan-penerapannya-dalam-software-development/