Git хук для приложения React Native / Expo для предотвращения ошибок во время компиляции? - PullRequest
0 голосов
/ 23 марта 2020

Существует новый проект с открытым исходным кодом, над которым я работаю, и, кажется, часто возникают синтаксические ошибки в основной ветке. Я хотел бы настроить хук git, который будет уведомлять участников об ошибках basi c перед отправкой их рабочих веток в github.

Как настроить хук git для отклонения код с простыми ошибками сборки для нашего приложения React Native expo?

В настоящее время кажется, что у этого проекта нет пакета. json скрипты, которые выполняют тестовые сборки или что-то подобное, что я могу использовать, и К сожалению, я не знаю достаточно о выставке, чтобы создать свою собственную. Есть мысли?

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Если вы хотите просто перехватить новый код, который нарушает предыдущий тест, вы можете использовать Husky . Устанавливает git крючок. Вы также можете запустить тест с помощью 'npm run test'.

Expo создает ваш проект для вас, когда вы запускаете expo build. Он также создается в свое время (если у вас нет приоритетной выставочной учетной записи) и может занять более 3 часов. Вы можете связать успех / неудачу сборки с git ловушкой, используя лайку, но вам придется подождать 3+ часа, прежде чем вы сможете git pu sh - что приведет к огромному узкому месту в производительности.

0 голосов
/ 23 марта 2020

Я полагаю, что вы спрашиваете, как настроить непрерывную интеграцию. Есть много способов сделать это. Я немного расскажу, как я это сделал.

  1. Установка и настройка веб-перехвата (ИЛИ настройка сервера со стати c URL)
  2. Установка Jenkins локально или на сервере со стати c URL
  3. Настройка веб-перехвата с Jenkins и Github
  4. После того, как хук установлен и работает, вы можете добавить bash скриптов в jenkins к клону git, собрать и протестировать expo project.
  5. Отправка информации обратно на github через webhook (например, Build: fail / Success)

Существует несколько руководств в Интернете, которые могут быть полезны.

РЕДАКТИРОВАНИЕ:

Jenkins может автоматически загружать репозиторий github, когда кто-то нажимает код или когда делается запрос на получение.

Jenkins может запускать любой сценарий bash для сборки , тестирование, развертывание

Jenkins может обновить github с помощью веб-крюка с результатами bash сценариев

Jenkins может сделать гораздо больше

Полезная ссылка

...