...

четверг, 29 мая 2014 г.

Разворачиваем App Fabric на свежесозданном Windows Server скриптами

Занимался недавно вопросом разворачивания приложения на только что установленном Windows Server скриптами, чтобы исключить человеческий фактор и автоматизировать процесс.

Здесь хочу рассказать о шагах необходимых для этого, поделиться набором ссылок и скриптов.

Вводные:



  • У нас есть Windows Server 2008r2-2012;

  • Приложение – это Windows workflow приложение, работающее в IIS и использующее appfabrichosting.

  • Писать будем на Powershell.





Шаг 1- Windows Features.




По умолчанию, Windows Server не присваивает никаких ролей или фичей при установке. Перед развертыванием приложения необходимо узнать список нужных фичей и установить их.

Весь код, необходимый для этого шага, собран в файл PreRequisites_InstallWindowsFeatures.ps1

Краткое содержание:


  • Импортируем модуль с скриптами

  • Import-Module ServerManager

  • Получаем список фичей, возможных для установки (в них есть отметка: установлена фича или нет)

  • Get-WindowsFeature

  • Ставим фичу

  • Install-WindowsFeature -Name $Feature -Source $windowsDistribLocal


Шаг 2- установка SQL Server- опционально




Для приложений иногда надо поставить MS SQL Server.

Все скрипты собраны в файле SQLServer_Install.ps1

Краткое содержание:


  • Проверить, был ли SQL Server установлен на машине

  • msdn.microsoft.com/en-us/library/ms144259.aspxhttp://blogs.msdn.com/b/buckwoody/archive/2009/03/11/find-those-rogue-sql-servers-in-your-enterprise-with-powershell.aspx

  • Получение списка установленных компонентов SQLSERVER. Ничего умнее, чем «запросить через WMI» в интернете не найдено

  • $selectSQLFeaturesQuery=«SELECT * FROM Win32_Product WHERE Name LIKE '%SQL%'»

  • $SQLFeatures = gwmi -query $selectSQLFeaturesQuery -ErrorAction Stop

  • SQL Server нужен .NET 3.5 для некоторых компонент. Если его нет, надо поставить — это аналогично установке Install-WindowsFeature

  • Инсталляция самого SQL Server. SQL Server можно поставить без интерфейса. Для этого нужно запустить инсталятор локально. Дойти до шага «Ready To Install», и там внизу будет путь, по которому будет находиться сгенерированный файл на основе наших текущих настроек. Вот этот файл скопировать и при запуске инсталлятора из скрипта указать к нему путь.

  • Setup.exe /ConfigurationFile= $SQLServerConfigFileFullPath


Шаг 3. Установка Web platform installer/Web deploy.




Все скрипты в PreRequisits_MSI.ps1

В целом, это просто запуск msi из консоли и ничего сложного. WebDeploy нужен для обновления приложений, а WebPlatformInstaller — для установки компонентов.

Шаг 4. Установка AppFabric

В AppFabric для Windows Server есть 2 части: Hosting, Caching. Для нашего случая был нужен только hosting. AppFabricиспользует 2 базы данных: InstanceStore/MonitoringStore



  • Первый шаг — добавление строк подключения к InstanceStore/MonitoringStore в IIS. http://ift.tt/1pBufZN(v=ws.10).aspx;

  • Установить инсталлятор AppFabric. Это тоже msi, но его можно более тонко настроить, чтобы он установил только нужные фичи ;

  • Сконфигурировать настройки AppFabric в IIS. Связать строки подключения баз данных и настройки InstanceStore/MonitoringStore. AppFabric_Configure.ps1




Сами базы данных нужно еще и настроить, если это не было сделано ранее.

Делается это скриптом AppFabric_InitializeDB.ps1

Стартовая точка всех скриптов:




Prerequisites_MainLocal.ps1

Что ставить, что не ставить, по каким путям находятся инсталляторы – всё это конфигурируется в файле: Prerequisites_Main.config

Все списки WindowsFeature, SqlComponents конфигурируются в текстовых файлах.

В результате




В итоге, мы получаем Windows Server со всеми необходимыми установленными WindowsFeatures. Если нужно, то и с установленным SQL Server. Настроенным AppFabric. Все что касается настройки сервера, сделано. Осталось установить сами приложения.

Ограничения скриптов




Эти скрипты лучше запускать из-под администратора сервера, все-таки установка Windows фичей. Настройки SQL Server для AppFabric требуют не менее, чем SA. Поэтому тоже нужны права максимальные.

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий