Как автоматизировать процесс сборки? - PullRequest
0 голосов
/ 01 августа 2011

Как мне автоматизировать процесс сборки веб-приложения, который включает в себя следующие шаги:

  • Изменить строку подключения.
  • Воссоздать базу данных по сценариям.
  • Развертывание сайта по ftp.
  • Скопируйте некоторые файлы на сервер в дополнение к приложению.
  • И может быть выполнить некоторые операции инициализации.

Должен ли я написать какой-либо скрипт / программу, использовать Visual Studio или любую другую программу?

Ответы [ 4 ]

1 голос
/ 04 августа 2011

По концепции непрерывной интеграции, которую упоминает Джейми, мы используем BuildMaster для всех наших приложений, поскольку мы его разрабатываем :)

Теперь, когда у нас есть бесплатная версия, я поделюсь с вами некоторыми соображениями по каждому из пунктов:

Изменить строку подключения

Это то, что уникально обрабатывается инструментом. Каждая среда получит свой собственный «экземпляр» файла конфигурации, и в плане развертывания вы можете использовать действие «развернуть файлы конфигурации», чтобы поместить их в любую среду. Это означает, что не нужно беспокоиться о преобразованиях, так как файл конфигурации хранится и версионируется в инструменте.

Восстановление базы данных по сценариям

Это еще одна важная особенность, которую мы имеем. Код объекта (хранимые процедуры, представления и т. Д.) Можно запускать каждый раз с помощью комбинации DROP / CREATE, но добавление индексов, удаление столбцов можно выполнить только один раз (вы не можете вернуть данные столбца без восстановления!)

BuildMaster по-разному обрабатывает эти типы сценариев изменений - их можно запускать не более одного раза для экземпляра среды вашей базы данных. Это упрощает обновление любой новой или существующей инициализированной схемы базы данных.

Развертывание сайта по FTP

Просто добавьте действие в план развертывания, и вы нажмете «Создать сборку» или «Продвинуть сборку», и это будет сделано.

Скопируйте некоторые файлы на сервер в дополнение к приложению

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

А может быть выполнить некоторые операции инициализации

Для меня это звучит как «контроль изменений», единовременное изменение, когда вы отпускаете. Мы также поддерживаем их, но, к сожалению, не в бесплатной версии.

1 голос
/ 01 августа 2011

Лично я использую инструмент непрерывной интеграции для выполнения этой работы.

В основном я использую Team City от JetBrains .

Это программное обеспечениеможете просматривать репозиторий Source Control для новой проверки, выполнять сборки, публиковать сборки на серверах, а также запускать события до / после сборки.

1 голос
/ 01 августа 2011

Вы можете запускать предварительные и последующие события в Visual Studio.Для этого просто щелкните правой кнопкой мыши по проекту и в свойствах проекта перейдите к опциям «Build Events».Здесь вы можете указать события до и после сборки (вы также можете указать, когда событие запускается - при успешной сборке или иным образом).

Как только проект будет успешно построен, событие после сборки может быть установлено навыполнить указанные задачи.Вы можете детализировать шаги либо в отдельном файле, либо в самих событиях сборки проекта Visual Studio.

Дополнительная информация

1 голос
/ 01 августа 2011

Вы должны начать учиться MSBuild. Это ОЧЕНЬ просто и понятно, так что просто начните, и вы увидите;)

В дополнение к встроенным функциям он имеет Community Pack со многими вкусными вещами, поэтому вы сможете:

  • Заменить строку подключения в файле конфигурации с помощью регулярных выражений или заменить всю конфигурацию предварительно определенной строкой подключения (FileUpdate или задача копирования)
  • Выполнение сценариев базы данных (MSBuild.Community. Задачи .SqlServer.ExecuteDDL)
  • Развертывание сайта с использованием Copy task

и многие другие ...

...