Eseguire il codice del repository

CI/CD per Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Modello di repository condiviso

  • Più collaboratori lavorano sullo stesso repository
  • Si creano branch di feature/tema per il lavoro correlato
    • Si aprono pull request
    • Il codice viene revisionato e si suggeriscono modifiche
    • Il branch viene unito nel branch main
  • I controlli CI/CD migliorano la qualità del codice

Immagine del modello di repository condiviso in cui più sviluppatori contribuiscono a un unico repository

CI/CD per Machine Learning

Crea un branch di feature

Immagine della pagina iniziale con evidenziata la scheda branch

Immagine della pagina dei branch con evidenziata la scheda nuovo branch

CI/CD per Machine Learning

Crea un branch di feature

Immagine della pagina del repository che mostra il branch di feature attivo

CI/CD per Machine Learning

Aggiungi codice al repository

Salva come hello_world.py nel branch

import datetime

def main():
    print("Hello, World!")

    # Get the current time and print it
    current_time = datetime.datetime.now()
    print("Current time:", current_time)

if __name__ == "__main__":
    main()
CI/CD per Machine Learning

Configura l'evento del workflow

  • Specifica il branch di destinazione per l'evento di pull request
on:
  pull_request:
    branches: [ "main" ]
CI/CD per Machine Learning

Sintassi delle Actions

steps:
  - name: My Action 
    uses: <org_or_user_name>/<reponame>@<version_number>
    with:
      action-argument: value
CI/CD per Machine Learning

Configura step e actions del workflow

  • Effettuare il checkout del repository in uno step del job
steps:
  - name: Checkout 
    uses: actions/checkout@v3
  • Configurare l'ambiente Python
steps:
  - name: Setup Python
    uses: actions/setup-python@v4
    with:
      python-version: 3.9
CI/CD per Machine Learning

Mettere tutto insieme

  • Il workflow si attiva su pull request verso main
  • Il job build contiene tre step
    • Checkout esegue il checkout del repository
    • Setup Python configura l'ambiente Python
    • Run Python script esegue il file Python
name: PR

on:
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: 3.9
      - name: Run Python script
        run: |
          echo hello_world.py 
          python hello_world.py
CI/CD per Machine Learning

Crea una PR e avvia il workflow

Immagine della pagina della pull request che mostra un workflow in esecuzione

CI/CD per Machine Learning

Ispeziona i log del workflow

Immagine dei log del workflow che mostra lo step dello script Python tra gli altri step

CI/CD per Machine Learning

Esercitiamoci!

CI/CD per Machine Learning

Preparing Video For Download...