Details

Title: Создание цепочки непрерывной интеграции и доставки CI/CD на примере Spring Boot веб–приложения: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения»
Creators: Топорский Елисей Кириллович
Scientific adviser: Петров Александр Владимирович
Other creators: Локшина Екатерина Геннадиевна; Смирнов Николай Георгиевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: непрерывная интеграция и доставка; CI/CD; веб-приложение; клиент-серверная архитектура; Spring; React; GitLab; AWS; continuous integration and delivery; web-application; client-server architecture
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-3412
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\7760

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

В данной работе описывается процесс создания веб-приложения и построения цепочки непрерывной интеграции для автоматизации дальнейшей разработки приложения. Задачи, решенные в ходе работы 1. Создание веб-приложения, отвечающего современным стандартам разработки. 2. Создание и конфигурация цепочки непрерывной интеграции и доставки CI/CD с помощью инструмента GitLab. 3. Усовершенствование приложения с использованием созданной цепочки CI/CD для демонстрации работоспособности метода. Разработанное приложение использует клиент-серверную архитектуру, где серверная часть является программным интерфейсом (API) созданным с помощью фреймворка Java Spring, а клиентская часть – веб-приложением, написанным на React JS. Для хранения данных создана база данных PostgreSQL. В результате работы для созданного приложения построена цепочка непрерывной интеграции и доставки CI/CD, в которой были автоматизированы этапы сборки приложения в исполняемую jar-библиотеку, упаковки приложения и используемой базы данных в docker-контейнеры, прохождения написанных для приложения интеграционных и юнит-тестов, а также развертки приложения в облачном хостинг-сервисе AWS. Для проверки работоспособности и эффективности построенной цепочки CI/CD приложение было дополнено системой аутентификации пользователей. Благодаря использованию данной цепочки удалось значительно сэкономить время и усилия разработчика путем автоматизации всех этапов жизненного цикла разработки после публикации изменений исходного кода приложения в удаленном репозитории.

This work is describing a process of web-application cre-ating and building a continuous integration pipeline for future development. Goals achieved in the course of work: 1. Creating a web application that meets modern devel-opment standards. 2. Creating and configuring a continuous integration and delivery pipeline using GitLab. 3. Improving application utilizing created CI/CD pipe-line to demonstrate efficiency of the method. The application is using client-server architecture where server part is an application programming interface (API) created with Java Spring framework, and client part is a web-application written in React JS. A PostgreSQL database was created for data persistence. The study resulted into building a continuous integration pipeline that automates the certain steps of building a jar-executable library, packaging an application and database into docker-containers, running integration and unit-tests written for this application and delivery to AWS cloud-hosting service. To test the performance of created CI/CD pipeline the application was supplemented by a user authentication system. Due to utilizing this pipeline, it was possible to significantly save the time and efforts of the developer by automating all stages of the devel-opment life cycle starting from publishing changes to the application source code to a remote repository.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Usage statistics

stat Access count: 39
Last 30 days: 5
Detailed usage statistics