Запуск коду репозиторію

CI/CD для машинного навчання

Ravi Bhadauria

Machine Learning Engineer

Модель спільного репозиторію

  • Кілька співавторів працюють у одному репозиторії
  • Для пов'язаних змін створюють гілки Feature/Topic
    • Відкривають pull requests
    • Рецензують код і пропонують зміни
    • Код гілки зливають у гілку main
  • Перевірки CI/CD підвищують якість коду

Зображення моделі спільного репозиторію, де кілька розробників роблять внески в один репозиторій

CI/CD для машинного навчання

Створіть гілку feature

Зображення головної сторінки з виділеною вкладкою гілок

Зображення сторінки гілок з виділеною вкладкою створення нової гілки

CI/CD для машинного навчання

Створіть гілку feature

Зображення головної сторінки репозиторію з активною гілкою feature

CI/CD для машинного навчання

Додайте код у репозиторій

Збережіть як hello_world.py у гілці

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 для машинного навчання

Налаштуйте подію воркфлоу

  • Вкажіть цільову гілку для події pull request
on:
  pull_request:
    branches: [ "main" ]
CI/CD для машинного навчання

Синтаксис Actions

steps:
  - name: My Action 
    uses: <org_or_user_name>/<reponame>@<version_number>
    with:
      action-argument: value
CI/CD для машинного навчання

Налаштуйте кроки та дії воркфлоу

  • Отримання коду репозиторію в кроці job
steps:
  - name: Checkout 
    uses: actions/checkout@v3
  • Налаштування середовища Python
steps:
  - name: Setup Python
    uses: actions/setup-python@v4
    with:
      python-version: 3.9
CI/CD для машинного навчання

Об'єднаймо все разом

  • Воркфлоу спрацьовує на pull request до main
  • Джоб build має три кроки
    • Checkout завантажує репозиторій
    • Setup Python готує середовище Python
    • Run Python script запускає файл 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 для машинного навчання

Створіть PR і запустіть воркфлоу

Зображення сторінки pull request із запущеним воркфлоу

CI/CD для машинного навчання

Перегляньте логи воркфлоу

Зображення сторінки логів воркфлоу із кроком виконання Python-скрипту серед інших кроків

CI/CD для машинного навчання

Давайте потренуємось!

CI/CD для машинного навчання

Preparing Video For Download...