Когда я готовлюсь к росту своей команды, я несколько месяцев искал информацию о советах или передовой практике, когда речь заходила о поддержке FrontEnd Developer. Мы запускаем Rails API на BackEnd и Angular на FrontEnd. Сейчас мы используем 2 отдельных git-репозитория, один для фронтального и один для спины. Бот размещаются на героку.
Но наши разработчики работают с локальным BackEnd. Поскольку мы приветствуем новые frontEnds, мы не хотим, чтобы они устанавливали весь огромный пакет и конфигурацию Rails.
Я посмотрел на различные решения и не знаю, возможно ли это/лучше:
Я бы определенно объединил репозитории. Это позволит вам развернуть набор изменений (frontend + backend) в стеке. В противном случае развертывание будет сложным на том этапе, когда вам это не понадобится.
Я думаю, что лучший способ - иметь однострочный интерфейс для вашего стороннего разработчика для установки среды backend. На uberVU мы использовали Vagrant для этой цели, но что-то работает IMO, если оно однострочное и работает в разных операционных системах.
Вы должны помнить несколько фактов:
сделайте конфигурацию, связывающую интерфейс с бэкэнд как можно глубже; имеют хорошие значения по умолчанию. Вы не хотите, чтобы люди, работающие в команде, тратили драгоценное время на выяснение того, как связать эти два,
убедитесь, что независимо от того, какое решение вы используете, оно автоматически обновляет исполняемый файл, когда они втягивают новый код. Одна из очень частых ошибок в нашем случае заключалась в том, что люди, обновляющие код, не видели правильные конечные точки API и т.д. Что-то, что следит за изменениями файловой системы и перезапускает бэкэнд-демонов, должно работать. Будьте осторожны, правильно ли это работает с общими файловыми системами между хост-машиной и выбранным решением виртуализации
убедитесь, что выбранное решение для виртуализации работает в Windows и MacOS. Хотя сторонние разработчики склонны использовать MacOS и Linux, разработчики frontend также являются большими поклонниками Windows. Последние версии становятся все более привлекательными.