GitHub Actions
GitHub Actions adalah platform otomatisasi CI/CD (Continuous Integration/Continuous Delivery) yang terintegrasi langsung dengan GitHub. Ini memungkinkan Anda untuk mengotomatiskan alur kerja pengembangan perangkat lunak Anda, mulai dari membangun, menguji, hingga menerapkan kode Anda.
Fitur Utama GitHub Actions
- Otomatisasi Alur Kerja: Mengotomatiskan alur kerja pengembangan perangkat lunak Anda berdasarkan peristiwa (events) di repositori GitHub Anda.
- Integrasi dengan GitHub: Terintegrasi langsung dengan repositori GitHub Anda, memudahkan akses kode dan pengelolaan alur kerja.
- Dukungan Multi-Platform: Mendukung berbagai platform operasi, termasuk Linux, macOS, dan Windows.
- Matriks Build: Memungkinkan Anda untuk menjalankan alur kerja Anda di berbagai konfigurasi secara paralel.
- Reusable Workflows: Memungkinkan Anda untuk membuat alur kerja yang dapat digunakan kembali di beberapa repositori.
- Marketplace Actions: Akses ke berbagai tindakan (actions) yang telah dibuat sebelumnya oleh komunitas GitHub.
- Secrets dan Variables: Mengelola rahasia (secrets) dan variabel lingkungan dengan aman.
- Container Support: Mendukung penggunaan kontainer Docker untuk lingkungan build yang konsisten.
Konsep Dasar GitHub Actions
- Workflows: File YAML yang mendefinisikan alur kerja otomatis Anda.
- Events: Pemicu yang memulai alur kerja (misalnya, push, pull request, jadwal).
- Jobs: Langkah-langkah yang dijalankan secara paralel atau berurutan dalam alur kerja.
- Steps: Perintah individual yang dijalankan dalam sebuah job.
- Actions: Tindakan yang telah dibuat sebelumnya yang dapat digunakan dalam langkah-langkah.
- Runners: Lingkungan yang menjalankan jobs dalam alur kerja.
Membuat Alur Kerja GitHub Actions
- Buat Direktori
.github/workflows
: Di repositori Anda, buat direktori.github/workflows
. - Buat File YAML: Buat file YAML di direktori
.github/workflows
untuk mendefinisikan alur kerja Anda (misalnya,main.yml
). - Definisikan Alur Kerja: Tentukan pemicu peristiwa, jobs, dan langkah-langkah dalam file YAML.
- Commit dan Push: Commit dan push file YAML ke repositori Anda.
- GitHub Actions Akan Menjalankan Alur Kerja: GitHub Actions akan secara otomatis menjalankan alur kerja berdasarkan pemicu peristiwa yang Anda tentukan.
Contoh Alur Kerja Sederhana
name: CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run a script
run: echo "Hello, GitHub Actions!"