Непрерывная интеграция и непрерывная доставка для приложения реакции с Jenkins - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу настроить процессы CI и CD для React App для компании, в которой я работаю, используются следующие технологии:

  1. React для внешнего интерфейса
  2. Flask для бэкэнда
  3. Docker
  4. GitHub для управления исходным кодом

В настоящее время мы используем скрипт для сборки приложения и затемразверните его вручную в AWS S3 корзину, я прочитал некоторую статью и просмотрел учебники, и почти все они охватывают проект на основе Java и используют Maven в качестве инструмента сборки для упаковки проекта перед развертыванием.

признателен, если вы могли бы помочь.

1 Ответ

0 голосов
/ 30 ноября 2018

Я согласен с тем, что этот вопрос немного широк, но здесь, в общем, вы должны иметь другой конвейер CI для вашего внешнего и внутреннего приложений.

Последствия этого много, так как это позволит вам:

  • Чтобы использовать разные циклы выпуска для вашего бэкэнда / внешнего интерфейса
  • Сокращенное время сборки

Однако в какой-то момент вы можете выполнить шаг интеграции, чтобы сделатьуверен, что все держится вместе.Вообще говоря, ваш конвейер должен выглядеть так (это должно выполняться при каждом коммите):

Также убедитесь, что вы выбрали инструмент CI / CD, который вам не мешает и который достаточно гибок (например: GitLab, Jenkins).

  • Создание образа докера
  • Linter (для обеспечения минимального форматирования и качества кода)
  • Модульное тестирование
  • Покрытие кода (Покрытие кодаperse, это немного бесполезно, но в сочетании с тем, как оно развивается и применение минимального% может помочь с качеством)
  • Функциональное тестирование (это имеет больше смысла для вашего бэкэнд-стека, если он использует базу данных, например ...)
  • Если все пройдет, нажмите на DockerHub
  • Разверните недавно созданный образ в соответствующую среду.Пример объединения для разработки подразумевает развертывание в вашей промежуточной среде
...