Project

General

Profile

Задачи проекта #12

Updated by Глеб Куприянов 4 days ago

**Цель** : Настроить автоматизированную сборку и развертывание простого приложения. 

 1. Python (Желательно 1.5 месяца): 

 * Не нужно становиться гуру. Цель: уметь писать скрипты для автоматизации. 

 * Основы синтаксиса, структуры, работа с файлами, библиотеками. 

 **Задание** : * Задание: Написать простой HTTP-сервер на Flask/Django, который выводит "Hello, World!" и некоторую системную информацию (например, время работы, hostname). 

 2. Jenkins/GitLab CI (1.5 месяца): 

 * Изучите основы CI/CD: что такое пайплайн, этапы, шаги. 

 * Установите Jenkins или создайте проект в GitLab. 

 3. Проект: Настройте пайплайн для вашего Python-приложения, который: 

 ``` 
  3.1. Запускает тесты (пока можно простой pytest или даже echo "Tests passed"). 
 ``` 

 ``` 
  2.2. Собирает Docker-образ (изучите базовый Docker на этом этапе). 
 ``` 

 ``` 
  2.3.Пушит образ в Docker Hub/GitLab Registry. 
 ``` 

 4. Ansible (1 месяц): 

 * Основы: инвентарь, модули, playbook, роли. 

 * Проект: Напишите playbook, который развертывает ваш Docker-образ с Python-приложением на одной из VPS. 

 * Управляйте конфигурацией: установите Docker, настройте пользователей. 

 **Итог квартала: Приложение, которое автоматически собирается по коммиту в Git и развертывается с помощью Ansible на сервер.** 

Back