Introductie tot GitHub Actions

CI/CD voor Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Wat is GitHub Actions?

  • GitHub Actions (GHA): CI/CD-platform om pipelines te automatiseren
  • Pipeline: reeks stappen die de stroom van werk en data weergeven
CI/CD voor Machine Learning

Wat is GitHub Actions?

Een afbeelding van een auto-assemblagelijn met medewerkers op verschillende stations, elk met specifieke taken zoals de motor monteren, wielen plaatsen en de carrosserie spuiten.

CI/CD voor Machine Learning

Wat is GitHub Actions?

GitHub Actions maakt een reeks gedefinieerde acties of steps voor hun softwareproject, zoals de repository uitchecken, de code builden, tests draaien of de app deployen.

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

GHA-onderdelen: Event

  • Event: specifieke activiteit in een repo die een workflow start
    • Push
    • Pull Request
    • Een issue openen
CI/CD voor Machine Learning

GHA-onderdelen: Workflow

  • Workflow: geautomatiseerd proces met één of meer jobs
    • Gedefinieerd in YAML-bestanden
    • Automatisch geactiveerd door een event
      • Handmatig starten kan
    • Staat in de map .github/workflows van de repo
    • Meerdere workflows mogelijk
CI/CD voor Machine Learning

GHA-onderdelen: Steps en Actions

  • Steps: losse taken
    • In volgorde uitgevoerd, afhankelijk van vorige stap
    • Draaien op dezelfde machine, data kan gedeeld worden
    • Voorbeelden van taken
      • Gecompileerde app, shellscript
      • Action: GHA-specifieke toepassing
        • Bijv. repo checkout, commentaar op PR
CI/CD voor Machine Learning

GHA-onderdelen: Jobs en Runners

  • Job: set van steps
    • Elke job is onafhankelijk
    • Parallel uitvoeren kan
    • Draait op rekencapaciteit genaamd runners
CI/CD voor Machine Learning

Een eenvoudige GHA-workflow

Afbeelding van een push-event in een repository dat een workflow start met één job op een Ubuntu Linux-runner. De job heeft twee stappen: de repo uitchecken en Python-code draaien.

  • Event: Push
  • Job: draait op Ubuntu runner, heeft twee steps
    • Action: Checkout Repo
    • Python-code draaien
CI/CD voor Machine Learning

Alles samenbrengen

Afbeelding van typische GitHub Actions-componenten met parallelle jobs en sequentiële steps.

CI/CD voor Machine Learning

Laten we oefenen!

CI/CD voor Machine Learning

Preparing Video For Download...