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


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



ЗНАЕТЕ ЛИ ВЫ?

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



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

· Владеет технологиями непрерывной интеграции.

· Понимает подходы к тестированию программных продуктов.

· Имеет опыт работы с основными продуктами стека Atlassian: Jira и Confluence

 

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

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

2. Автономное приложение (java, vue.js): «Читательский билет» в составе: ЛК Студента, ЛК «Библиотекаря».

3. Приложение на базе Sitex (java, vue.js, PostGree SQL): «Система управления контрактами».

4. Автономное приложение (Java, vue.js, oracle, Pyton): «Предсказание числа проголосовавших на выборах».

 

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

Модуль 1. Общая информация

Необходимость автоматизации релизов, тестирования, их повторяемость. Ускорение разработки продукта. Система контроля версий Git.

Модуль 2. Atlassian Jira и Confluence

Обзор и основные функции продукта Jira Atlassian. Обзор и основные функции продукта Confluence Atlassian.

Модуль 3. Общий принцип работы CI/CD

Конвейерный метод разработки. CI и CD (deployment и delivery). Обзор инструментов: Jenkins, GitLab CI

 

Инструменты CI/CD

Jira – коммерческая система отслеживания ошибок. Разработана компанией Atlassian, является одним из двух её основных продуктов (наряду с вики-системой Confluence). Имеет веб-интерфейс. Предназначена для организации процесса контроля запросов и задач. Ключевыми понятиями в JIRA являются проекты и задачи. Задачи создаются в проектах, для выполнения задач назначаются исполнители. Задачи могут быть разного типа и иметь подзадачи, могут быть связанными с другими задачами. Статус задач меняется в процессе их выполнения.

Рисунок 2

Рисунок 3

Jenkins – позволяет автоматизировать часть процесса разработки программного обеспечения, в котором не обязательно участие человека, обеспечивая функции непрерывной интеграции. Работает в сервлет-контейнере, например, Apache Tomcat. Может собирать проекты с использованием Apache Ant и Apache Maven, а также выполнять произвольные сценарии оболочки и пакетные файлы Windows. Сборка может быть запущена разными способами, например, по событию фиксации изменений в системе управления версиями, по расписанию, по запросу на определённый URL, после завершения другой сборки в очереди.

Рисунок 4

 

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

Рисунок 5

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

Рисунок 6

 

Confluence – это wiki система, которая позволяет вести информацию по проекту, заданиям, и постановке задач в одном месте. Это пространство для команд, в котором накопленные знания объединены с возможностями для совместной работы. Динамические страницы представляют собой площадку для сбора информации и совместной работы участников команды над любыми проектами и идеями.

Рисунок 7

 

Пример постановки задачи и результат

Результатом работы группы является:

- опубликованная на сервере услуга получения читательского билета студентом ВУЗа.

Процедура получения читательского билета студентом ВУЗа состоит из следующих этапов:

1. Подача заявления на получение читательского билета в электронной форме

1.1 Выбор срока действия читательского билета

1.2 Выбор способа уведомления о готовности читательского билета

2. Проверка правильности заполнения полей при помощи алгоритмов ФЛК

2.1  Проверка пройдена, заявление успешно отправлено

2.2  Проверка не пройдена, сервер вернул сообщение об ошибке

3. Формирование читательского билета

3.1 В зависимости от выбора срока действия формируется тип читательского билета (на 1 или 2 года)

4. Уведомление о готовности

4.1  В зависимости от выбора уведомления о готовности система либо отправляет Email-сообщение, либо формирует сообщение на электронную почту.

 

В рамках данного процесса могут быть сформированы следующие задачи:

1. Разработать общее описание процесса разработки, примеры интерфейсов, схемы бизнес процессов и постановку задач.

2. Разбить на таски и поставить их в Jira (постановка задачи).

3. Разработать схему базы данных.

4. Написать код для бэкенда.

5. Написать код для фронтенда.

6. Настроить Jenkins для переноса кода при его компиляции.

7. Настроить систему автоматизированного тестирования (подстановка данных в форму, в зависимости от заданных условий, например, выбран срок 1 год и способ уведомления – по СМС).

8. Разработать SQL-скрипты для создания структуры БД и индексов.

9. Разработать Unit-тесты для бэкенд.

10. Настроить сборку в Jenkins с учетом необходимости запуска Unit-тестов.

11. Разработать скрипты запуска / остановки / перезапуска сервиса на бэкенд, если он разрабатывается как standalone-приложение.

 

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



Поделиться:


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

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