Бакалавриат
2023/2024





Проектный семинар "Основы DevOps"
Статус:
Курс обязательный
Направление:
09.03.04. Программная инженерия
Когда читается:
2-й курс, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Зотов Евгений Максимович
Язык:
русский
Кредиты:
4
Контактные часы:
28
Программа дисциплины
Аннотация
Научно - исследовательский семинар посвящен введению в DevOps. В данном курсе рассматривается набор инструментов, позволяющих студентам автоматизировать процессы сборки и тестирования своих проектов. По окончанию курса студенты смогут создать общую инфраструктуру для хранения, автоматического тестирования и сборки проектов, изучат инструменты автоматизации сборки и поставки программных продуктов и создадут пример автоматизации для своих проектов.
Цель освоения дисциплины
- Создать общую инфраструктуру для хранения, автоматического тестирования и сборки проектов студентов.
- Изучить инструментов автоматизации сборки и поставки программных продуктов.
- Создать пример автоматизации для студенческих проектов.
Планируемые результаты обучения
- Выбрать ранее разработанный проект для модификации в рамках дисциплины.
- Добавить в репозитории автоматическую проверку форматирования кода при запросе на слияние.
- Загрузить docker image на docker hub.
- Загрузить проект в общий репозиторий.
- Написать dockerfile с тестами для своего проекта.
- Настроить автоматический процесс запуска тестов при появлении изменений в репозитории.
- Настроить политику конфиденциальности для своего проекта.
- Настроить правила слияния веток для своего проекта.
- Настроить правила форматирования кода для своего репозитория.
- Настроить процесс автоматической сборки своего проекта.
- Описать dockerfile и собрать docker image для своего проекта.
- Создать модель ветвления для своего проекта.
- Сравнить инструменты автоматизации сборки и тестирования кода.
Содержание учебной дисциплины
- Философия DevOps, инструменты автоматизации сборки и тестирования кода.
- Модели ветвления Git flow.
- Средства контейнеризации приложений. Docker.
- Стандарты форматирования кода. Методологии тестирования кода.
- Настройка процесса непрерывной интеграции.
Элементы контроля
- Работа с репозиториями на Github
- Сборка и развертывание приложений
- Тестирование
- Модели ветвления
- Самостоятельное изучение технологий
Промежуточная аттестация
- 2023/2024 учебный год 4 модуль0.1 * Модели ветвления + 0.1 * Работа с репозиториями на Github + 0.2 * Самостоятельное изучение технологий + 0.4 * Сборка и развертывание приложений + 0.2 * Тестирование
Список литературы
Рекомендуемая основная литература
- Dive, P., & Gornalli, N. (2018). DevOps for Salesforce : Build, Test, and Streamline Data Pipelines to Simplify Development in Salesforce. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905961
- Scott Chacon, & Ben Straub. (2014). Pro Git (Second Edition). Web server without geographic relation, Web server without geographic relation (org): Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.E86D0407
- Versluis, G. (2017). Xamarin Continuous Integration and Delivery : Team Services, Test Cloud, and HockeyApp. [S.l.]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1516673
- Гэртнер, М. ATDD – разработка программного обеспечения через приемочные тесты : руководство / М. Гэртнер , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2013. — 232 с. — ISBN 978-5-94074-572-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/9125 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Моуэт, Э. Использование Docker / Э. Моуэт , научный редактор А. А. Маркелов , перевод с английского А. В. Снастина. — Москва : ДМК Пресс, 2017. — 354 с. — ISBN 978-5-97060-426-7. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93576 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Mikael Krief. (2019). Learning DevOps : The Complete Guide to Accelerate Collaboration with Jenkins, Kubernetes, Terraform and Azure DevOps. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2284100
- Кочер, П. С. Микросервисы и контейнеры Docker : руководство / П. С. Кочер , перевод с английского А. Н. Киселева. — Москва : ДМК Пресс, 2019. — 240 с. — ISBN 978-5-97060-739-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/123710 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Скрынник, О. В. DevOps для ИТ-менеджеров: концентрированное структурированное изложение передовых идей / О. В. Скрынник. — 2-е изд. — Москва : ДМК Пресс, 2019. — 126 с. — ISBN 978-5-97060-692-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/112933 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.