Что Вы используете для управления рабочим процессом развертывания приложения после того, как сборка завершится? Я не говорю о просто действии получения файлов на сервере, я говорю о том, что происходит после этого. Проверка, тестирование, одобрение, миграция к производству, уходу в отставку старых сборок, и т.д.
Пример:
Какие-либо хорошие приложения там, которые могут управлять длительными рабочими процессами сборки?
Обновление
Я должен также упомянуть, что ищу инструменты, которые на самом деле реализуют рабочий процесс и не только отследить то, что указывает, что это находится в. (Сборка копии, состояние сборки изменения, посылает электронные письма, запускает/останавливает сервисы, и т.д.),
Эти системы сборки и выпуска представляют собой смесь разных вещей, поэтому, следуя вашему списку, я отвечу:
Отсюда и далее, мы делаем это в основном с помощью смеси ant и bash скриптов
Самое сложное, что мы нашли, это перезапустить наши серверы приложений, так как у нас не было хорошего опыта с горячим развертыванием, но это возможно только с maven, ant и bash.
Многие компании используют приложение для планирования проектов, например MS Project.
Вот приложение для планирования проектов с открытым исходным кодом, Open Workbench , которое может вам пригодиться. У него есть ограничения, но я использовал его для управления расписанием.
Я не очень понимаю, почему это нельзя сделать с помощью Ant (http://ant.apache.org) с некоторыми задачами, по одной на шаг. Так как время выполнения этих вещей определяется вручную, а в каждой среде может быть только одна копия программного обеспечения в одно и то же время, то, похоже, не так уж много можно сделать, кроме как закодировать рабочий процесс и предоставить его людям.
Если вам удастся автоматизировать ваши тесты (и в зависимости от того, какое программное обеспечение вы используете, нет причин, почему бы и нет), вы сможете использовать любое программное обеспечение непрерывной интеграции.
Дело в том, что каждую фазу можно записать как задачи, которые могут выполняться одна за другой в зависимости от того, что было результатом предыдущего случая.
Например, у меня была настройка CruiseControl, которая делает именно то, что вы здесь описываете, на этапе тестирования было запущено множество модульных тестов (c ++ / qt), а материал uat был написан с помощью драйвера для тестирования.
ThoughtWorks Go выглядит правильным. В настоящий момент мы используем Maven , но все еще ограничены его возможности.
Насколько я знаю, нет единая система, которая автоматически выполнит все упомянутые вами задачи. Вам необходимо написать несколько скриптов и тестов для автоматизации развертывания вашей системы и ее тестирования. Затем вы можете использовать CI-сервер, чтобы собрать его. Вот что я бы посоветовал:
После того, как вы все это автоматизировали, вы можете использовать сервер непрерывной интеграции, чтобы запланировать эти задачи или выполнять их по запросу. Я больше всего знаком с Bamboo (я работаю в Atlassian), но уверен, что CruiseControl и Hudson имеют схожие функции. Вот как вы это сделаете в Bamboo:
Затем вы должны сделать то же самое и настроить сборку для своего производственного развертывания, но, вероятно, с запуском только вручную и с более ограниченными разрешениями.
Мы используем старого валлийца по имени Алистер. Работает как шарм.
Я использовал веб-инструмент с открытым исходным кодом под названием Hudson и был очень доволен Это. Он очень хорош в управлении сборками и имеет отличную интеграцию с SVN и ant. Единственное предостережение - вам необходимо разместить его на своем собственном сервере.