Я изучаю Travis CI и хочу использовать его, чтобы помочь автоматизировать тестирование приложения MEAN, а затем развернуть его.Однако есть несколько способов сделать это.
После прочтения я узнал, что могу создать два отдельных репозитория, поддерживая, таким образом, два отдельных приложения: клиентское приложение и внутреннее приложение.Поскольку они являются отдельными репозиториями, я могу иметь отдельные файлы .travis.yml для каждого и выполнять непрерывную интеграцию в клиентском приложении и в бэкэнд-приложении.Однако мне нужен совет по этому подходу, потому что у меня есть вопросы:
Для клиентского приложения я должен написать тесты.Так как я буду использовать angular, я хочу протестировать отзывчивость и работают ли компоненты как задумано.Клиентское приложение также должно обмениваться данными с бэкэнд-приложением, и я хочу посмотреть, правильно ли оно получает правильные результаты (например, нажатие кнопки вызывает запрос GET и посмотреть, получаю ли я правильное тело ответа).Так как клиентское приложение находится в отдельном репозитории, и когда я собираю его на TravisCI, как я могу подключить клиентское приложение к внутреннему приложению, если оно существует в отдельном репозитории?
Iчитать и я могу использовать подмодули в git.Таким образом, клиентское приложение и внутреннее приложение могут быть подмодулями для «главного репозитория».Следовательно, как будет работать триггер в TravisCI?Буду ли я иметь отдельные файлы travis.yml в каждом подмодуле или мне нужно будет иметь их в «главном репозитории»?
Если бы мне нужно было заставить все работать правильно и иметьКак клиентское приложение, так и серверное приложение успешно развернуты, и оба они размещены на разных серверах. Как я решу междоменную проблему?
Другой подход заключается в размещении статических файлов, созданныхng build --prod
и хост-приложение узла должно их разместить.Когда запускается Travis CI, я могу сначала создать внутреннее приложение узла и сначала запустить на нем тесты, а затем запустить тесты на угловом клиентском приложении.После того, как все тесты пройдены, где я могу развернуть?Я знаю, что должен развернуть приложение узла, так как на нем будут размещаться статические файлы, поэтому как именно я буду развертывать приложение бэкенда в Travis CI?
Я знаю, что это подтолкнет, но я все равно спрошу.В будущем я хочу научиться внедрять микросервисы и использовать Nginx для балансировки нагрузки.Как я пойду об этом?Docker может помочь мне создать производственную среду, в которой я могу увидеть, хорошо ли работают сервер и приложение Nginx, но как мне включить это в Travis CI?
Если мой вопрос немного расплывчатый, пожалуйста, дайте мне знать, какие его части расплывчаты, чтобы я мог отредактировать его таким образом, чтобы я мог лучше понять, о чем я прошу.Спасибо, и я с нетерпением жду ответа:)