Постановка задачи :

1. Создайте образ контейнера с Python3 и Keras или numpy, установленными с помощью файла dockerfile.

2. Когда мы запускаем этот образ, он должен автоматически запускать обучение модели в контейнере.

3. Создайте цепочку заданий job1, job2, job3, job4 и job5, используя подключаемый модуль конвейера сборки в Jenkins.

4. Job1: автоматическое получение репозитория Github, когда некоторые разработчики отправляют репозиторий на Github.

5. Job2: просмотрев код или программный файл, Дженкинс должен автоматически запустить соответствующее программное обеспечение для машинного обучения, установить интерпретатор, установить контейнер образа, чтобы развернуть код и начать обучение (например, если код использует CNN, тогда Дженкинс должен запустить контейнер, который уже установлено все программное обеспечение, необходимое для обработки cnn).

6. Job3: Обучите свою модель и предскажите точность или показатели.

7. Job4: если точность метрик меньше 80%, то необходимо настроить архитектуру модели машинного обучения.

8. Job5: переобучить модель или уведомить, что создается лучшая модель.

9. Создайте одно дополнительное задание job6 для монитора: если контейнер, в котором запущено приложение. происходит сбой по какой-либо причине, то это задание должно автоматически снова запускать контейнер с того места, где осталась последняя обученная модель.

РЕШЕНИЕ :-

  1. Создание репозитория Git
  2. Создание Job 1 с Jenkins, который будет тянуть код с github:

2. Создание образа Docker путем создания Dockerfile:

3. Создание задания 2: проверка кода Дженкинсом

4. Создание задания 3: мониторинг модели

5. Создание задания 4: настройка модели

6. Создание задания 5: Отправка почты

7. Создание задания 6: мониторинг контейнера