Pengantar GitHub Actions

CI/CD untuk Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Apa itu GitHub Actions?

  • GitHub Actions (GHA): platform CI/CD untuk mengotomasi pipeline
  • Pipeline: rangkaian step yang merepresentasikan alur kerja dan data
CI/CD untuk Machine Learning

Apa itu GitHub Actions?

Gambar lini perakitan mobil dengan pekerja di berbagai tahap, masing-masing melakukan tugas spesifik seperti memasang mesin, memasang roda, dan mengecat bodi.

CI/CD untuk Machine Learning

Apa itu GitHub Actions?

Github Actions membuat serangkaian action atau step terdefinisi untuk proyek perangkat lunak mereka, seperti checkout repository, membangun kode, menjalankan test, atau melakukan deploy aplikasi.

1 https://medium.com/empathyco/applying-ci-cd-using-github-actions-for-android-1231e40cc52f
CI/CD untuk Machine Learning

Komponen GHA: Event

  • Event: aktivitas spesifik di repositori yang memicu menjalankan workflow
    • Push
    • Pull Request
    • Membuka issue
CI/CD untuk Machine Learning

Komponen GHA: Workflow

  • Workflow: proses otomatis yang menjalankan satu atau lebih job
    • Didefinisikan dalam file YAML
    • Dipicu otomatis oleh event
      • Dapat dijalankan manual
    • Berada di direktori .github/workflows dalam repositori
    • Dapat memiliki banyak workflow
CI/CD untuk Machine Learning

Komponen GHA: Steps dan Actions

  • Step: unit kerja individual
    • Dieksekusi berurutan, bergantung pada step sebelumnya
    • Berjalan pada mesin yang sama, sehingga data bisa dibagi
    • Contoh unit kerja
      • Aplikasi terkompilasi, skrip shell
      • Action: aplikasi khusus platform GHA
        • Mis. checkout repo, komentar pada PR
CI/CD untuk Machine Learning

Komponen GHA: Jobs dan Runners

  • Job: kumpulan step
    • Tiap job independen
    • Dapat berjalan paralel
    • Dieksekusi pada mesin komputasi bernama runner
CI/CD untuk Machine Learning

Workflow GHA sederhana

Gambar event push di sebuah repositori yang memicu workflow dengan satu job yang berjalan pada runner Ubuntu Linux. Job berisi dua step: checkout repo dan menjalankan kode Python.

  • Event: Push
  • Job: berjalan pada runner Ubuntu, memiliki dua step
    • Action: Checkout Repo
    • Jalankan Kode Python
CI/CD untuk Machine Learning

Menggabungkan semuanya

Gambar komponen tipikal workflow GitHub Actions yang menunjukkan eksekusi job paralel dan step berurutan.

CI/CD untuk Machine Learning

Ayo berlatih!

CI/CD untuk Machine Learning

Preparing Video For Download...