Skip to content

nor-code/golang_ci_cd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI/CD

Требования

  1. Нужно написать CRUD(аббривиатура от Create Read Update Delete) приложение: небольшое хранилище заметок(требования к нему - ниже)
  2. Написать тесты на ваше приложение(требуемое покрытие - 20%)
  3. Настроить CI/CD

Итого:

  • Ваше приложение доступно из интернета
  • Приложение работает согласно требованиям
  • У вас есть CI, он работает корректно
  • В CI настроены 3 джобы: build(проверяет что ваш код билдится), test(гоняет по вашему коду тесты и проверяет, что они успешно проходят), lint(гоняет линтеры по вашему коду)
  • По умолчанию в golangci-lint использовано 10 линтеров. Создайте свой конфигурационный файл, и включите помимо 10 дефолтных, еще 15 наиболее полезных на ваш взгляд линтеров (полный список линтеров тут https://golangci-lint.run/usage/linters/)
  • При мерже/пуше в мастер должна срабатывать 4ая джоба: deploy, которая будет раскладывать ваше приложение на сервер

Требования к приложению

Здесь требования к вашему приложению, что вы будете деплоить на сервер. Приложение небольшое и несложное, основная задача дз будет именно в ci/cd. Хранить данные можно в памяти.

Оперировать нужно сущностью Note с полями:

  • ID - число, инкрементальный ID
  • Text - строка, текст заметки
  • CreatedAt - время создания(изменяется только бекендом, с клиента не передаем)
  • UpdatedAt - время последнего обновления(изменяется только бекендом, с клиента не передаем)

Ваше приложение должно принимать и отвечать в только в json формате. Также оно должно удовлетворять следующей апишке:

  • GET /note/{id} - получить Note по id
  • POST /note - создать Note
  • PUT /note/{id} - изменить Note по id
  • DELETE /note/{id} - удаляем Note по id
  • GET /note - получить список Note, запрос должен уметь обрабатывать query-параметр: order_by("id","text","created_at","updated_at"), который указывает, что перед отдачей список нужно отсортировать по такому-то полю

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published