2017-02-20 8 views
2

У меня есть довольно конкретный вопрос, который требует большого количества знаний, связанных с серверами, и большого количества инструментов сборки/тестирования/развертывания.Строительство трубопровода непрерывной подачи

Я построил непрерывный конвейер поставки для .NET, но так, как я это делал, в конце концов он немного дорогой. Нам еще предстоит создать команду, которая постепенно будет развиваться по нескольким проектам - ASP.NET MVC.

По умолчанию мне приходится работать с Visual Studio, Jira и CloudBacket Cloud. Поэтому я добавил NUnit и Resharper для теста и метрики качества кода. Я также добавил TeamCity как инструмент CI. В итоге я решил использовать Octopus Deploy для инструмента развертывания автоматизации.

Как вы могли догадаться, это довольно дорого. Мы уже заплатили за Visual Studio, Jira и Bitbucket. Кроме того, Resharper - это платный инструмент, как и TeamCity, хотя он является бесплатным в начале, но становится действительно (смехотворно) дорогостоящим после того, как процесс вырос (более 3 агентов сборки). Octopus Deploy также стоит дорого.

Итак, теперь я хочу заменить некоторые инструменты, которые я использовал. Тем не менее, трудно выбрать новый, потому что все ресурсы, которые я прочитал, изучают разные аспекты. Я хочу иметь конвейер, в котором обнаружено, какая ветвь зафиксирована, и на основе этого компилирует решение (пакеты + nuget), запускает модульные тесты, и если все хорошо автоматически развертывает версию с новой фиксацией в указанной среде , Приоритеты - это цена и ее простота применения с приложениями .NET. Я не нашел решение, которое может работать с остальными и вписываться в изображение.

Я взглянул на Дженкинса и MSDeploy, но мне нужен совет по указанному выше вопросу. Также это должно быть приемлемым решением, так как его нужно настраивать один раз и больше не обрабатывать.

ответ

1

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

Рассмотрите возможность развертывания вручную некоторое время, прежде чем перейти к Octopus или другому инструменту. С .NET обычно вы можете публиковать любое приложение за минуту или две. Сколько раз в день вы собираетесь делать? Это должно быть что-то действительно интенсивное, если вам нужно сразу же найти такой инструмент.

В принципе, я бы сказал, чтобы сохранить конфигурацию и просто отказаться от Octopus. Вы заметите большой шаг назад от TeamCity до Дженкинса (выступая за .NET).

2

Visual studio, jenkins, nexus, jira, gitblit.

Jenkins, nexus и gitblit является бесплатным. Дженкинс будет опробовать gitblit для изменений, запускает сборку, используя плагин nuget, он будет производить пакет и загружать его в nexus, где его можно будет использовать визуальную студию.

Jenkins также может использоваться для развертывания, это может занять больше работы, чем осьминог, но все octopus reall - это куча хороших сценариев powershell, вы просто должны написать все это в своей работе по созданию jenkins.

например. Дженкинс развернуть работу для развертывания Java приложения для Linux сервера,

  1. сборки баночка
  2. УПП банки над
  3. SSH Java -jar runtest.jar
  4. результатов испытаний копии обратно в Jenkins, или потреблять его прямо
Смежные вопросы