GitHub Actions
Mengenal GitHub Actions untuk CI/CD
Apa itu GitHub Actions
- Layanan CI/CD yang terintegrasi langsung dengan GitHub
- Memungkinkan automation berdasarkan event di repository
- Tidak memerlukan server CI/CD terpisah
Konsep Dasar
Workflow
- File konfigurasi yang mendefinisikan automation
- Disimpan di
.github/workflows/ - Diatur dalam format YAML
Event
- Trigger yang memulai workflow
- Contoh: push, pull_request, schedule
Job
- Kumpulan langkah yang dijalankan pada runner yang sama
- Jobs dapat dijalankan secara paralel atau berurutan
Step
- Tugas individual dalam sebuah job
- Bisa berupa perintah shell atau action yang sudah jadi
Contoh Konfigurasi Dasar
name: CI Pipeline
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm testKeunggulan GitHub Actions
- Terintegrasi langsung dengan GitHub
- Marketplace berisi ribuan action siap pakai
- Mendukung berbagai bahasa dan platform
- Gratis untuk repository publik