Дисциплина: "Технологии разработки программного обеспечения"
Лабораторная работа №1: создание микросервиса на Spring Boot с базой данных
Выполнил: Шабанов Александр (МБД2032)
Цель работы: Создание API микросервиса с учетом совеременных архитектурных паттернов. Данный микросервис представляет собой CRUD-приложение, написанное на Java.
Инструкция по сборке и запуску:
для работы потребуется установленный Docker. Инструкция написана на примере использования IntelliJ IDEA. Указанные ниже команды запускаются в терминале используемой IDE.
- Сделайте клон репозитория
- Запустите БД для теста приложения с помощью команды:
docker run -e POSTGRES_PASSWORD=root -p 5432:5432 postgres
- Запустите файлы data.sql и schema.sql (src > resources) для конфигурации и настройки БД.
- С помощью сборщика проектов Maven соберите образ для Docker. Для этого перейдте во вкладку Maven > simpleApi (название проекта) > Lifecycle > package (двойной клик). В папке target будет создан jar архив.
- Произведите сборку образа Docker командой:
docker build . -t myapi:latest
- Запустите созданный Docker образ командой:
docker run -p 8080:8080 myapi:latest
Приложение запущено, теперь его можно протестировать с помощью curl команд:
- Получение hostname:
curl http://localhost:8080/api/v1/status
- Получение списка всех позиций в таблице:
curl http://localhost:8080/api/v1/products
- Получение определенной позиции из таблицы по его id (по-умолчанию счет начинается с 1000):
http://localhost:8080/api/v1/products/{id}
- Сохранение позиции в таблицу:
curl -X POST http://localhost:8080/api/v1/products -H "Content-Type:application/json" -d ' { "name": "item name", "brand": "brand", "price": 100, "details": "pieces" }'
- Удаление позиции по ее id:
curl -X DELETE http://localhost:8080/api/v1/products/{id}
Лабораторная работа №3: CI/CD и деплой приложения в Heroku.
Цель работы: знакомство с CI/CD и его реализацией на примере Travis CI и Heroku.
Адрес развернутого приложения: https://prilka.herokuapp.com/api/v1/status