Из теста Джоэл :
Вы можете сделать сборку за один шаг?
Я должен сказать, что не могу. В настоящее время я работаю над веб-приложением, в котором есть список элементов электронной таблицы, которые необходимо выполнить для развертывания. Итак, мой вопрос, как я могу автоматизировать это ? Это должно быть в масштабах всей организации? Советы / методы?
tools
builds
automation
billy.bob
источник
источник
Ответы:
Make может автоматизировать процесс сборки за один шаг. Make может делать почти все, что вы хотите. Я не уверен, почему Саппоро считает, что Make относится только к C / C ++. Вы можете использовать make для запуска любого типа команды. Он даже не привязан к программированию, хотя именно для этого он обычно используется.
источник
В зависимости от вашей среды, вы можете захотеть взглянуть на Make (C / C ++), Ant / Maven (Java), Gradle (Groovy) - это те, с которыми я знаком. Скорее всего, есть популярное решение для вашей среды.
источник
На работе мы используем FinalBuilder , который упрощает настройку сценария для автоматизации всего процесса: проверка кода, сборка всего, запуск тестов, создание пакета развертывания и т. Д.
Это очень хороший инструмент, и недавно он получил премию Dr. Dobbs Jolt Award за инструменты управления изменениями и конфигурацией.
источник
Конечно, есть способ автоматизировать это. С помощью таких инструментов, как Chef , настроить новый только что установленный сервер можно так же просто, как:
В моем случае некоторые шаги, выполняемые этой единственной командой:
Я не уверен, как Chef будет работать в вашей среде, поскольку поддержка Windows указана как «предварительная», но для системы на основе UNIX это колени пчелы.
Puppet - это похожая система, которая немного старше шеф-повара и может предложить лучшую поддержку Windows.
источник
Это просто с Maven в мире Java
В нашей конфигурации это выполняет все необходимое построение файла WAR (при необходимости добавляя JAR-зависимости), развертывание на веб-сервере dev и создание тестовых данных в базе данных dev. После этого Maven выполняет всестороннее функциональное тестирование через SeleniumRC для проверки работоспособности приложения.
Эта единственная команда полностью развертывает приложение на кластере серверов dev, поэтому другие разработчики могут сразу же работать с ним (при условии, что оно прошло тесты). Это необычно для развертывания dev, так как разработчики убедились, что оно работает локально
mvn clean install
.Затем артефакт снимка (WAR) копируется в репозиторий Maven для совместного использования с другими разработчиками (согласно стандартному
deploy
поведению Maven ).Хорошо, но вы только что развернули снимок для dev, как насчет тестирования и производства?
Распределение на тестовый и (более поздние) производственные серверы осуществляется через процесс выпуска Maven, который мы хотим обрабатывать вручную, чтобы гарантировать, что кто-то отслеживает любые подозрительные результаты. Тестеры работают только с выпущенными артефактами, а не со снимками.
После того, как он выпущен, используется простой сценарий сборки для SFTP-файла WAR на кластер тестовых серверов, опять же, когда кто-то наблюдает за процессом, чтобы убедиться, что все в порядке.
Наконец, после того, как все тестировщики будут довольны, неизмененный файл WAR передается по SFTP до отказоустойчивого кластера производственных серверов, когда кто-то внимательно следит за ситуацией и в случае аварии получает немедленную позицию отката.
источник
Я подумал, что смогу проверить это на нашем тесте Джоэла, так что ...
Я сделал сервер сборки на python, автоматизировал его с помощью pychron .
Код был синхронизирован с VSS из командной строки, сборка осуществляется с помощью Borland Make (большинство IDE создают файлы make для вас независимо от того, называют ли они их так. Delphi раньше выкачивал файлы make и вызывал их .BPG-файлы, теперь они ' «MSBuild XML-файлы, и вы можете использовать MSBuild), а ошибки были помещены в XML-файл, который я только что продолжал добавлять.
Итак ... Просто напишите командный файл и сделайте эти вещи.
источник