Recraftory

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 test

Keunggulan GitHub Actions

  • Terintegrasi langsung dengan GitHub
  • Marketplace berisi ribuan action siap pakai
  • Mendukung berbagai bahasa dan platform
  • Gratis untuk repository publik