Лучшая практика с развертыванием Coldfusion

Я новичок в разработке Coldfusion и унаследовал уже развернутый проект. Из-за различных технических ограничений невозможно разрабатывать локально на наших рабочих станциях (как вы делаете для.net). Как следствие, файлы редактируются непосредственно с тестовых серверов (и передаются в SVN оттуда).

Еще раз, поскольку тестовая база данных обычно намного отстает от prod db, нам часто приходится редактировать код непосредственно с сервера prod (пожалуйста, не вините здесь, я знаю, что это плохо).

Я хотел бы воспользоваться этой возможностью, чтобы вернуть процесс в нечто управляемое:

  • Местная редакция кода
  • Модульное тестирование с использованием MXUnit
  • Совершить с SVN
  • Подключите SVN, который будет развернут на тестовом сервере.
  • Тест на тестовом сервере
  • Как-то инициировать развертывание на прод-серверах

С точки зрения технологии, я думал о комбинации: CFEclipse, MXUnit, SVN и ANT

Кроме SVN, все будет новым и может быть изменено, если у вас есть лучший совет.

Кто-нибудь реализовывал такие процессы и мог бы мне подсказать, с чего начать?

2 ответа

Решение

В нашем офисе мы сначала попробовали ANT + MXUnit + Selenium + TeamCity, но через некоторое время решили перейти на сервер непрерывной интеграции Jenkins / Hudson.

Существует множество инструкций и руководств по непрерывной интеграции, поэтому я думаю, что вам не нужен я, чтобы объяснить это в деталях.

В общем, создайте свои ANT-скрипты для svncheckin/checkout, создайте тесты MXUnit, сгенерируйте / запишите тесты Selenium и запустите все из пользовательского интерфейса Jenkins на тестовом сервере.

Советы: разрабатывайте сценарии ANT локально, чтобы избежать удаления файлов на сервере (случалось с нами однажды:)). MXUnit сложен, когда дело доходит до запуска его из браузера, обратите внимание на переменные области приложения. Вы можете писать / редактировать тесты Selenium на многих языках, в нашем случае Java казался лучшим выбором. И у TeamCity, и у Дженкинса есть свои плюсы и минусы, лучше попробуйте оба и посмотрите, что вам больше подходит.

Ссылки по теме:

http://www.jetbrains.com/teamcity/

http://jenkins-ci.org/

http://seleniumhq.org/

Вы также можете взглянуть на BDD (разработку, основанную на поведении) и включить JBehave http://jbehave.org/ в свой рабочий процесс гибкой разработки, и это здорово, если у вас есть "сложные" клиенты.

Удачи!

Посмотри в git вместо svn. Намного лучше. И Mylyn/Tasktop, чтобы связать все вместе в вашем идеале.

Другие вопросы по тегам