Я планирую приступить к выпуску нашего программного обеспечения для наших клиентов с использованием расширенной версии существующей процедуры, в которой используются пакетные сценарии Windows. Я надеюсь улучшить этот процесс и автоматизировать установку следующих элементов:
- Файлы. Файлы просто копируются в место назначения.
- Базы данных MSSQL. Я думаю, что я буду использовать команду OSQL, чтобы запустить их для базы данных.
- Виртуальные каталоги IIS. В серверных версиях Windows обычно установлен инструментарий IIS, в котором есть некоторые инструменты для создания виртуальных каталогов и тому подобное из командной строки, поэтому я буду использовать это. Я думаю, что «iiscnfg» - это тот, который я использую для вставки ранее сохраненных файлов конфигурации в IIS .
- Службы Windows. Наши сервисы имеют возможность установить себя из командной строки.
Итак, для каждого развертывания приложения у меня есть такая структура:
Releases\
| get-release.bat
| Release1\
| Release2\
| Release3\
| | Content\
| | | Application1\
| | | | bin\
| | | | | Application1.exe
| | | | etc\
| | | | | Application1.config
| | | | db\
| | | | | CreateDatabase.sql
| | | | | CreateTable1.sql
| | | | | CreateTable2.sql
| | | | iis\
| | | | | Application1Web.xml
| | | | pre.bat
| | | | post.bat
| | | | environment.bat
| | | Application2\
| | | Application3\
| | | Application4\
| | Release1.doc
Таким образом, в основном вы открываете терминал и компакт-диск в каталог Releases, запускаете команду что-то вроде:
get-release "Release3"
, который будет запускать серию команд для всех приложений в каталоге Release3 и копировать все файлы, конфигурации, устанавливать все базы данных и виртуальные каталоги iis.
Есть еще кое-что, например резервное копирование каталога назначения для файлов и т. Д., Но на данный момент это не имеет значения.
У меня вопрос, есть ли у кого-нибудь опыт такого развертывания, и если есть какие-то ошибки, я могу извлечь уроки из опыта других людей.
К сожалению, мы не можем использовать пакеты MSI или NullSoft (чье имя ускользает от меня на данный момент). Если это не сделано так, это делается вручную, поэтому я действительно пытаюсь помочь себе здесь.