Начальный уровень – знакомство и прогон. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Начальный уровень – знакомство и прогон.



1. Знакомство со всем циклом CI/CD:

Скачать приложение, внести простейшие изменение в виде цвета, текста, заголовков

Запустить цикл сборки и довести изменения до продуктивного сервера.

Каждый студент рассматривает, открывает и запускает программные средства на всех уровнях.

Студент знакомится со всеми ролями и участниками процесса, но сам ничего не вносит в структуру CI/CD.

Средний уровень «Настройка CI/CD и работа проектной командой».

Студенты получают на вход полуразобранную программное обеспечение, тестовое задание. Их задача реализовать доработку программного обеспечения, и реализовать полный цикл разработки.

Порядок:

1. Распределение ролей между студентами: постановщик задач, разработчики.

2. Уяснение задачи, проблем, цели, сроков.

3. Актуализация состояния разработки, выявление проблем и ошибок, разработка постановки задач, старт работы.

4. Устранение ошибок в работе ПО, тестовые запуски компиляции ПО.

5. Простая доработка ПО и вывод их на продуктовый сервер по полному циклу разработку с коммитами.

Сложный уровень

Студенты получают на вход виртуальные машину, IP адреса, описание конечной задачи и сконфигурированный CI/CD.

Их задача, исходя из ограничений:

1. Разработать информационно – логическую модель приложения

2. Распределить роли между собой на фронтенд – бэкэнд разработчики.

3. Разработать локально на рабочих местах и протестировать.

4. Загрузить проект в Git. Собрать совместную сборку на тестовом сервере, отладить взаимные ошибки.

5. Настроить компиляцию и доставку до продуктового сервера.

ВОПРОСЫ, ЗАДАЧИ ДЛЯ СОГЛАСОВАНИЯ

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

1. С каких тестовых заданий начинать?

2. Исходя из опыта подобрать с чем работать: с автономными приложениями, либо с платформенными приложениями?

3. Прогон и подбор заданий, что бы уложиться в «2 академических часа».

Построение DevOps инфраструктуры

Описание курса

Цель курса:

Обучить основным инструментам и методам повышения эффективности процессов разработки (Development) и эксплуатации (Operation) программного обеспечения (ПО) за счет их непрерывной интеграции и активного взаимодействия с помощью инструментов автоматизации.

По окончании курса обучающиеся:

· Получат знания и навыки разработки стратегии DevOps.

· Ознакомятся с концепцией Infrastructure as a Code, практиками из разработки для создания, тестирования и управления версиями шаблонов.

· Изучат инструменты для непрерывной интеграции (Continuous Integration, CI) и непрерывной поставки (Continuous Delivery, CD).

· Познакомятся с микросервисной архитектурой.

· Научатся использовать технологии docker и kubernetes для развертывания контейнеризованных приложений.

Предоставляемые сконфигурируемые программные средства

1. Виртуальные машины (3 штуки с собранным комплексом CI/СD на Линукс).

2. Микросервисное приложение: «Service Desk» с готовым комплексом CI/CD (GitLab, Jenkins), системой сборки логов LogStach, мониторинга Graphana, Prometeus.

Схема решения, представлена на рисунке ниже.

 

Рисунок 8


 

Структура курса

Модуль 1. Введение

Основные понятия devops. Система контроля версий Git

Модуль 2. Operations

Общие принципы и модели управления. Шаблоны конфигурации. Описание инфраструктуры с помощью Ansible.

 

Модуль 3. Концепция CI/CD

Continuous Integration и Continuous Delivery. Обзор инструментов: Jenkins, gitlab. Управление инфраструктурой Ansible.

Модуль 4. Инфраструктура микросервисных приложений

Контейнеризация. Локальная разработка и тестирование. Контейнерная оркестрация.

 

Инструменты

1. Системы контроля версий

GIT – это набор консольных утилит, которые отслеживают и фиксируют изменения в файлах (чаще всего речь идет об исходном коде программ, но вы можете использовать его для любых файлов на ваш вкус). С его помощью вы можете откатиться на более старую версию вашего проекта, сравнивать, анализировать, сливать изменения и многое другое. Этот процесс называется контролем версий. Git является распределенным, то есть не зависит от одного центрального сервера, на котором хранятся файлы. Вместо этого он работает полностью локально, сохраняя данные в папках на жестком диске, которые называются репозиторием. Тем не менее, вы можете хранить копию репозитория онлайн, это сильно облегчает работу над одним проектом для нескольких людей. Для этого используются сайты вроде github и bitbucket.

 

2. Непрерывная интеграция и поставка (CI/CD)

GitLab CI – all-in-one решение для построение конвейера непрерывной поставки ПО. Включает в себя сервер репозиториев исходного кода с системой контроля версий git, автоматизацию сборки и развертывания (pipelines, runners), средства хранения артефактов, ведения базы знаний, issue tracker и управления проектом.

Рисунок 9

Рисунок 10

 

Jenkins - система, предназначенная для обеспечения процесса непрерывной интеграции программного обеспечения. Может выполнять сборку ПО с использованием различных сборщиков, а также произвольные сценарии. Сборка может быть запущена по событию фиксации изменений в системе контроля версий, по расписанию, по запросу на определённый URL, после завершения другой сборки в очереди.

Рисунок 11

 

3. Управление инфраструктурой

Ansible - система управления конфигурациями, написанная на Python, с использованием декларативного языка для описания конфигураций. Используется для автоматизации настройки и развертывания ПО. Работает через SSH-соединение.

Рисунок 12

 

4. Инфраструктура микросервисных приложений

Контейнеризация. Docker.

Контейнерная оркестрация. Kubernetes.

 

Примеры задач

· Развертывание self-managed GitLab CI, загрузка кода в репозиторий, настройка пайплайна сборки и доставки кода.

· Настройка доставки кода на различные окружения.

· Управление тестовыми хостами через Ansible, написание роли, плейбука.

 

2.6. Тестовые задания

Начинающий уровень

Студенты получают на вход полностью готовую структуру CI/CD, тестовое задание. Их задача по заданию найти ошибки в скриптах в двух или трех местах. Зайти под правами админа в каждый компонент CI/СD, устранить, простейшие ошибки.

Прогнать полный цикл доставки кода до продуктивного сервера.

 



Поделиться:


Последнее изменение этой страницы: 2021-05-11; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.156.37 (0.01 с.)