2016-11-22 3 views
-1

Я хотел бы знать, что лучше всего подходит для работы Angular 2 в производстве. Меня просят создать фабрику программного обеспечения (непрерывная интеграция, автоматическая сборка, автоматическое развертывание).Угловое 2 непрерывное развертывание с дженкинсами и отдельным сервером производства

Что меня смущает это:

Мы не используем сервер разработки. Ожидается, что мы будем развертывать приложение и его зависимости с реальным производственным сервером. https://angular.io/docs/ts/latest/guide/webpack.html#!#production-configuration

Почему я должен запустить приложение на том же сервере?

В настоящее время я установил сервер jenkins. Идея заключается в том, что когда происходят изменения (он опросает git каждые 15 минут), он тестирует программное обеспечение и после чего начинает сборку и автоматически развертывает ее на другом сервере. Но с помощью Angular CLI команда сборки не создает развертываемую папку dist. Вы все равно должны запустить его через ng-службу.

Проблема, с которой я только строю на производственном сервере, заключается в том, что после отказа от тестирования она не должна продолжаться.

Неужели кто-нибудь реализовал что-то симулятивное или у него есть идея, как его настроить?

+1

угловое кли генерирует DIST папку с помощью команды нг сборки -prod. Содержимое папки dist должно быть размещено на вашем сервере. – AMagyar

+0

Да, но невозможно запустить сервер с помощью только папки dist и некоторой формы веб-сервера, или вы нашли способ? –

+0

Я сделал это с TeamCity и Octopus Deploy, и то, что я делаю, это именно то, что сказал AMagyar. В TeamCity запустите «ng build -prod», затем упакуйте папку dist с OctoPack и отправьте ее в Octopus Deploy. Осьминог толкает папку в Azure. Я также сделал то же самое, но нажав на место, где я настроил IIS. –

ответ

1

вы можете запустить ng build, нет необходимости в ng serve

3

Зависит от структуры приложений, тестирования и стратегии развертывания. Угловые реализуют различные стратегии тестирования, такие как утилиты углового тестирования, jasmin, карма для модульных тестов и/или транспортир для конечного испытания конца 2. Подробнее см. В документах по адресу angular testing.

  1. GitHook или периодическая проверка, чтобы вызвать Дженкинс
  2. Сделать построить ng build
  3. модульного тестирования проходит через карму с ng test
  4. конца хода 2 конца тестом через транспортир с ng e2e
  5. Deploy Угловых 2 приложением к примеру ,GitHub страницы

В зависимости от настроек, также есть API-сервер, чем мой рабочий процесс может выглядеть примерно так:

  1. API сервера Test Unit
  2. API API сервера/E2E тесты
  3. Внедрение API-сервера в новую среду
  4. В зависимости от стратегии API, среда тестирования порождения
  5. сборка для тестирования
  6. тест нг (блок тест)
  7. нг э2э (конец 2-й конец теста)
  8. сборки для производства
  9. Развертывание в новой среде
  10. Тест новая среда (тест + Healthcheck)
  11. своп Url CNAME к новая среда
  12. Прекратить старый API

Или вы simplyfy это путем объединения и создания приложения на ваш сервер и только роль из новой версии сервера, то ваш API и SPA всегда находится в синхронизации и вам не придется беспокоиться о API версий, Cross-Side Scripting ...

Чтение там

Смежные вопросы