Развертывание приложений ASP.net MVC для подготовки и производства с использованием SQL - PullRequest
6 голосов
/ 28 января 2010

Мы работаем в магазине ColdFusion уже 10 лет, и теперь переходим на ASP.net MVC. Нашей целевой платформой является .net 4.0 BETA 2 с использованием VS 2010 BETA 2. Мы настроили два экземпляра Windows Server 2008 (подготовка и производство) и будем использовать наш существующий сервер базы данных (SQL Server 2008).

Никто из нас не имеет большого опыта в самом ASP.net, хотя мы все очень хорошо разбираемся в C # и шаблоне MVC. Само кодирование не является большой проблемой; но процесс развертывания идет. Наша цель - иметь возможность настройки CI, которая будет автоматически опускать и тестировать наши приложения для постановки на коммит, а затем иметь возможность отмечать, а затем переключать проверки на наших производственных сайтах, когда веб-сайты проходят QA.

Некоторые из проблем, с которыми у меня возникают проблемы, это концепция приложения ASP.net и его интеграция в SVN. CF, как и PHP или RoR, являются языками сценариев и поэтому не требуют процесса сборки (извлечение исходного кода в производство очень просто). Но в этом случае приложения должны быть скомпилированы - вот где у нас начинаются проблемы. Нужно ли нам создавать другой сервер (или использовать уже существующий), в котором есть какое-то приложение, которое загружает код, компилирует его, а затем каким-то образом передает его на работающие серверы? Если так, что считается лучшим способом для достижения этой цели? Я полагаю, что если мы в конечном итоге используем такой инструмент сборки, как Nant, добавление дополнительных шагов для переноса базы данных будет тривиальным, но как лучше всего это сделать?

Другая, немного не связанная, проблема заключается в том, как наши дизайнеры будут работать с нашим кодом. Большинство из них на Mac, и использование VS не является чем-то альтернативным. Как они смогут легко редактировать aspx, css и файлы изображений? Наша цель - сделать это максимально прозрачным для них.

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

Ответы [ 2 ]

2 голосов
/ 28 января 2010

Microsoft TFS имеет замечательное встроенное решение для сборки. Это дорого, но эффективно. Кроме того, вы не можете проиграть, глядя на CruiseControl, который является бесплатным. TeamCity от JetBrains также отличный вариант. Все эти решения для непрерывной сборки и интеграции послужат хорошей отправной точкой для ваших исследований.

http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx

http://www.cruisecontrol.com/

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

Даже Draco.net - хорошее соображение:

http://draconet.sourceforge.net/

0 голосов
/ 29 января 2010

Мы используем http://www.cruisecontrol.com/ (CC), работающие на нашем сервере SVN / Build. Вы можете настроить CC с помощью своих собственных файлов конфигурации / сценариев, чтобы получить последний исходный код из SVN, а затем создать один или несколько сценариев Nant или MSBuild, которые могут выполнять сборку и развертывание.

Мы записываем все изменения нашей базы данных в сценарии изменений, которые также входят в SVN. Затем у нас есть специальный инструмент командной строки, который будет развертывать сценарии изменений на SQL Server во время развертывания веб-сайта. Все это делается в сценарии Нанта.

Таким образом, сценарий Nant каждого проекта обрабатывает сборку, развертывание веб-сайта и развертывание сценария изменения SQL.

Сложная задача - выполнить откат, если / когда что-то идет не так. Я бы предложил опубликовать еще один вопрос по этой конкретной проблеме.

...