Непрерывная сборка и развертывание Angular-cli с использованием TeamCity и Octopus

Я разработал приложение Angular 2, используя angular-cli. Сейчас планирую развернуть приложение через Team City и Octopus Deploy. В настоящее время все проекты в Team City представляют собой ASP.NET MVC, поэтому ссылки на использование отсутствуют.

После поиска я обнаружил, что для создания этого приложения в Team City требуется плагин TeamCity.Node. Есть ли другие подходы?


person indra257    schedule 31.03.2017    source источник


Ответы (1)


У вас есть три варианта:

  1. Установите Node.js и npm на каждый агент сборки.
  2. Установите плагин Team City, который добавляет поддержку npm (например, TeamCity.Node, о котором вы упомянули).
  3. Поместите файлы angular-cli (и любые другие необходимые пакеты npm) в систему управления версиями, тем самым устранив необходимость в npm.
person Oleksandr Kobylianskyi    schedule 31.03.2017
comment
Спасибо. А для развертывания с помощью Octopus мне нужно просто обратиться к 6 файлам, которые были сгенерированы с помощью ng-build - person indra257; 31.03.2017
comment
да. Вы должны настроить файл *.nuspec, чтобы он включал выходные данные ng build и другие ресурсы, необходимые вашему приложению во время выполнения. - person Oleksandr Kobylianskyi; 31.03.2017
comment
Спасибо. Я настроил свой файл nuspec и проверил все файлы. Будет ли Octopus автоматически определять этот файл nuspec и развертывать его? - person indra257; 31.03.2017
comment
Octopus идентифицирует ваш nuspec, если он называется YouProjectName.nuspec. Затем он создаст пакет YouProjectName.nupkg, который будет автоматически опубликован в ленте Team City NuGet. Затем вы ссылаетесь на него на этапе проекта Octopus, и он его развернет. - person Oleksandr Kobylianskyi; 31.03.2017
comment
Кажется, я получил почти всю информацию. Вы случайно не имеете в виду, что TeamCity идентифицирует ваш nuspec вместо того, чтобы Octopus идентифицировал ваш nuspec . - person indra257; 31.03.2017
comment
Я имел в виду OctoPack, но его можно использовать только при наличии файла csproj. Если все, что у вас есть, это просто папка с приложением Angular 2, я думаю, вам следует использовать nuget.exe (или встроенный шаг Team City NuGet Pack) для упаковки *.nupkg. - person Oleksandr Kobylianskyi; 31.03.2017
comment
да. У меня есть всего 5 пакетов и файл index.html, созданный с использованием сборки angular-cli ng. Итак, чтобы развернуть эти файлы, i) создайте файл nuspec и сошлитесь на все файлы ii) используйте nuget.exe или пакет NuGet для упаковки *.nupkg, который будет опубликован в ленте Team City NuGet iv) сошлитесь на ленту NuGet в проекте Octopus. Пожалуйста, поправьте меня, если я ошибаюсь. - person indra257; 31.03.2017
comment
Я могу создать Nupkg с помощью пакета NuGet. И он создается по выходному пути, который я указал. Как указать путь к фиду Team City NuGet? - person indra257; 20.04.2017
comment
Когда я открываю Octopus, он ищет файл ‹имя проекта›.web. Но у меня есть 5 пакетов, созданных из Angular-cli. - person indra257; 20.04.2017