Köra kod från ett repository

CI/CD för maskininlärning

Ravi Bhadauria

Machine Learning Engineer

Delad repository-modell

  • Flera samarbetspartners arbetar i samma repository
  • Feature-/ämnesgrenar skapas för relaterat arbete
    • Pull requests öppnas
    • Koden granskas och ändringar föreslås
    • Grenens kod slås samman med main-grenen
  • CI/CD-aktiverade kontroller förbättrar kodkvaliteten

Bild av den delade repository-modellen där flera utvecklare bidrar till ett gemensamt repository

CI/CD för maskininlärning

Skapa en featuregren

Bild av startsidan med grenfliken markerad

Bild av grensidan med fliken för ny gren markerad

CI/CD för maskininlärning

Skapa en featuregren

Bild av repositoryts startsida med aktiv featuregren

CI/CD för maskininlärning

Lägg till kod i repository

Spara som hello_world.py i grenen

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 för maskininlärning

Konfigurera en arbetsflödeshändelse

  • Ange målgren för pull request-händelsen
on:
  pull_request:
    branches: [ "main" ]
CI/CD för maskininlärning

Actions-syntax

steps:
  - name: My Action 
    uses: <org_or_user_name>/<reponame>@<version_number>
    with:
      action-argument: value
CI/CD för maskininlärning

Konfigurera arbetsflödessteg och actions

  • Checka ut repository i ett jobbsteg
steps:
  - name: Checkout 
    uses: actions/checkout@v3
  • Konfigurera Python-miljön
steps:
  - name: Setup Python
    uses: actions/setup-python@v4
    with:
      python-version: 3.9
CI/CD för maskininlärning

Sätta ihop det

  • Arbetsflödet utlöses av en pull request till main
  • Jobbet build innehåller tre steg
    • Checkout checkar ut repository
    • Setup Python konfigurerar Python-miljön
    • Run Python script kör Python-filen
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 för maskininlärning

Skapa en PR och utlös arbetsflödet

Bild av pull request-sidan med ett pågående arbetsflöde

CI/CD för maskininlärning

Granska arbetsflödesloggar

Bild av arbetsflödets loggsida med Python-skriptsteget bland övriga steg

CI/CD för maskininlärning

Nu kör vi en övning!

CI/CD för maskininlärning

Preparing Video For Download...