Это мини-задача, основанная на автоматизации с использованием файла Docker, GitHub и Jenkins. Цель этой задачи — запуск контейнера и мониторинг сервера с помощью кода, выложенного разработчиком в GitHub. Этим запуском и мониторингом занимается Jenkins.

GitHub: https://github.com/shubhabhi/MLOps_Task2

Описание задания :

1. Создайте образ контейнера с установленным Jenkins с помощью файла Docker.

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

3. Создайте цепочку заданий Job 1, Job 2, Job 3 и Job 4, используя подключаемый модуль конвейера сборки в Jenkins.

4. Задача 1. Автоматически извлекать репозиторий GitHub, когда разработчики отправляют код на GitHub.

5. Работа 2: просматривая код или программный файл, Jenkins должен автоматически запускать соответствующий языковой интерпретатор установленного контейнера изображения для развертывания кода (например: если код написан на PHP, то Jenkins запускает контейнер с уже установленным PHP).

6. Задача 3: проверьте свое приложение, работает оно или нет.

7. Работа 4: если приложение не работает, отправьте электронное письмо разработчику с сообщениями об ошибках.

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

ЗАДАНИЕ-1

Вытягивание репозитория кода с помощью Jenkins:

ЗАДАНИЕ-2:

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

ЗАДАНИЕ 3:

Создаем тестовую среду и проверяем, работает наш код или нет.

ЗАДАНИЕ-4:

Основное задание состоит в том, чтобы проверить, работает ли код или нет, и если код не работает, он отправит электронное письмо администратору Jenkins с прикрепленным файлом журнала сборки, если задание завершится ошибкой в ​​Jenkins.

ЗАДАНИЕ 5:

Это последнее задание отслеживает наши контейнеры, если по какой-либо причине наш контейнер останавливается или завершается, то это задание снова запустит наш контейнер после сбоя.

Наконец, после выполнения нескольких заданий в Jenkins, мы можем визуализировать наши задания с помощью плагина конвейера сборки Jenkins.