Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо настроить 2 сервера: Production и Development

  • Создать 2 контейнера: для backend на php для laravel (mysql) с соответствующими библиотеками и расширениями, для frontend на JS для Nuxt.js (React.js) с использованием TypeScript с соответствующими библиотеками. (библиотеки уточнить у разработчиков). Образы каждого контейнера должны быть в репозиториях на github. Так же для удобной работы с базой данных нужен phpmyadmin, только он тоже должен работать через https.
  • Контейнеры с mysql должны уметь делать бэкапы баз данных и по команде из контейнера заменять базу данных на сохраненный выбранный бэкап.
  • Код в контейнерах должен быть доступен по ssh, чтобы его можно было править используя какой-либо файловый менеджер(редактор) или же код должен лежать вне контейнера на сервере, а в контейнерах будут содержаться только инструменты для работы с кодом, это нужно для тестовых правок без обязательных коммитов, такое можно сделать только на тестовом сервере!
  • Сделать так чтобы эти контейнеры имели внутри себя сервер Nginx для работы с бэкэнд и с frondend (frondend будет на домене, backend на поддомене), чтобы оба контейнера можно было запустить как на сервере так и на локальной машине (по образам)
  • Контейнеры будут работать на 2х серверах на тестовом и на продакшн, они не должны ничем отличаться, разве что кроме пары параметров - dev или production, в зависимости от которых будет определятся доменное имя DNS и настройки сборки проектов.
  • Оба этих контейнера должны будут автоматически собираться по push или commit действиям в git соответствующих репозиториях. Делаться это должно с помощью инструмента Jenkins. Он может располагаться на боевом сервере в отдельном контейнере. При действиях в ветках dev - изменения должны происходить в контейнерах на тестовом сервере, при действиях в ветках master или main ( в зависимости от названия основной ветки) изменения должны происходить в контейнерах на production сервере.
  • Если код проекта как frontend так и backend будет внутри контейнеров, то должны быть папки и файлы (такие как .env и скрипты) которые не должны меняться из коммитов github (их там и не будет), они должны быть положены в папки собранного проекта (или не удаляться от туда после пересборки проекта)
  • Также должны быть выделены папки, которые не должны будут удаляться при пересборке или обновлении кода (в контейнере или вне контейнера), такие папки как хранилище фотографий, файлов, которые создает сам фреймворк.
  • При обновлении контейнера или кода вне контейнера код не должен пересобирать весь целиком, возможна пересборка всего кода (за исключением определенных папок, как указано в пункте выше), но без обязательного обновления библиотек (vendor в backend и node_modules в frontend), обновление библиотек (а лучше удаление всех и установку снова) необходимо делать только при изменениях в файлах package.json для frontend и composer.json для backend.
  • При коммитах в github репозиториях должны быть созданы actions или другой способ запуска и проведения написанных в фреймворках тестов, для того, чтобы отслеживать прохождение тестов во время коммита (если тесты не прошли нужно либо подтвердить коммит вручную на github, либо откатить изменения и доделать код, пока комит не пройдет) это не обязательн
  • Должна быть составлена “методичка” о том как работать с контейнерами, как их отключать, включать, как работать с командами в контейнерах (как запускать команды внутри контейнеров), как работает jenkins и где конфигурация и настройки (файлы настроек или скрипты внутри самого приложения jenkins)
  • Обсудить в дальнейшем возможность доработки сервера с djangodb и возможность создания распределенной базы данных с помощью контейнеров ( в рамках одного или нескольких серверов, сначала одного)
3 года назад
Zaletchik
Владимир 
42 годаРоссия
18 лет в сервисе
Был
год назад
Выбранный исполнитель
livand-ua
29 летУкраина
7 лет в сервисе
Был
2 года назад
3 года назад
$200
7 дней
Отличный исполнитель. Быстро вышел на связь, запросил необходимую информацию, сориентировал по срокам. Итог: работа выполнена в срок, написана необходимая документация, остались довольны Владимславом! Рекомендуем для сотрудничества!
Проблем при работе с этим заказчимо не возникло, сотрудничеством доволен. Задача поставленна конкретно и детально, вопросов возникало минимум. Своевременная оплату сразу по факту выполнения работы.