Автоматическое развертывание с использованием Ant или аналогичного - PullRequest
2 голосов
/ 23 января 2011

Я хочу разобраться в нашем процессе развертывания, и я надеялся использовать Ant или аналогичный инструмент сборки для разработки и реализации развертывания одним щелчком мыши определенной версии SVN на нескольких серверах.

Мы используем ColdFusion в качестве сервера приложений, поэтому мы обычно просто загружаем набор измененных файлов на все наши серверы. Нет этапа компиляции.

Процесс будет следующим:

  • Получить конкретную ревизию из SVN и экспортировать ее в временный каталог
  • Копирование / FTP всех файлов в каталоге на набор веб-серверов
  • Переключение места назначения развертывания в соответствии с требованиями для тестирования / подготовки / производства и т. Д.
  • В будущем мы хотели бы добавить изменения схемы базы данных в этот процесс

Возможно ли сделать это с помощью Ant или есть лучшие инструменты с открытым исходным кодом для этой работы? Я заинтересован в интеграции SVN в частности.

Я бы хотел услышать любой опыт в этой области. Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 23 января 2011

Да, есть много источников об этом:

http://subversion.open.collab.net/articles/IntegratingSubversionIntoYourAntBuild.html

http://ant.apache.org/manual/Tasks/ftp.html или http://www.developer.com/java/print.php/998241

Кроме того, я не уверен, каков эквивалент в мире Cold Fusion, но вы должны изучить Unit Testing и инструмент для рисования. Инструмент Linting может проверять на наличие неверного синтаксиса и основных структур. Недопустимая синтаксическая часть является ключевой .. потому что вы можете остановить задачу, если возникнет проблема, а не развертывание известного неисправного кода.

Это всего лишь вопрос установки отдельных целей (задач) и их объединения в правильном порядке.

1 голос
/ 23 января 2011

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

Существуют плагины, которые помогут вам во всем процессе.SVN интегрирован с Maven, поэтому у вас не возникнет никаких проблем.

Вот краткий список

  1. Используйте Maven SCM-плагин для проверки / экспорта кода.
  2. Maven выполнит специальную сборку для вас и упакует код.
  3. Используйте Плагин Maven Cargo , чтобы загрузить упакованный артефакт / Jar / War на ваш сервер.Вы также можете перезапустить сервер.
  4. У вас есть профили сборки в Maven, вы можете определять поведение сборки и развертывания на основе платформы (Unix, Mac, Windows, ...) иокружения (dev, test, prod и т. д.).
  5. При выпуске вы можете увеличить версию кода до следующей версии SNAPSHOT.Это также автоматизировано в Maven.
  6. Интеграция Maven с Liquibase просто потрясающая.Изменения в вашей базе данных выполняются настолько надежно, что вы найдете разницу.Вы будете управлять изменениями БД так же, как ваш код Java.Небольшие откатные наборы изменений дают большую уверенность при работе в производственной среде.
...