Пока вам не нужен доступ на уровне администратора (например, изменение реестра, установка msi и т. д.), вы можете выполнить настройку из OnStart()
, включая запуск скрипта. Просто включите сценарий запуска в свой проект (не забудьте установить для Copy Local значение true).
То же самое и со сценарием запуска: вы вызываете свой cmd-файл, который затем выполняет последовательность для вас. И если вы дадите ему повышенные разрешения, вы сможете запускать установщики, изменять настройки реестра, устанавливать пользовательские счетчики производительности и так далее.
В любом случае: вы можете хранить архив apache, установщики ruby и т. д. в хранилище больших двоичных объектов и при запуске загружать их в локальное хранилище. Это избавляет вас от объединения всего в развертывание, что дает вам несколько преимуществ (возможность обновлять ruby/apache без повторного развертывания, уменьшенный размер пакета и т. д.).
На codeplex есть пример, демонстрирующий основы настройки Tomcat с помощью сценария запуска. В качестве еще одного примера вы можете посмотреть скрипты, установленные через подключаемый модуль Eclipse Windows Azure для Java. Эти скрипты очень похожи. Суть в том, чтобы каким-то образом загружать файлы из хранилища больших двоичных объектов, а затем распаковывать их. проект codeplex, на который я ссылался, указывает на пример приложения, которое выполняет простую загрузку BLOB-объектов. Пакет Eclipse предоставляет аналогичную функциональность в приложении .vbs. Вот фрагмент одного из моих сценариев из проекта на основе Eclipse:
SET SERVER_DIR_NAME=apache-tomcat-7.0.25
SET WAR_NAME=myapp.war
rd "\%ROLENAME%"
mklink /D "\%ROLENAME%" "%ROLEROOT%\approot"
cd /d "\%ROLENAME%"
cscript /NoLogo util\unzip.vbs jre7.zip "%CD%"
cscript /NoLogo util\unzip.vbs tomcat7.zip "%CD%"
copy %WAR_NAME% "%SERVER_DIR_NAME%\webapps\%WAR_NAME%"
cd "%SERVER_DIR_NAME%\bin"
set JAVA_HOME=\%ROLENAME%\jre7
set PATH=%PATH%;%JAVA_HOME%\bin
cmd /c startup.bat
В проекте codeplex есть похожий скрипт.
Не забывайте: вам нужно настроить входную конечную точку для вашей роли (часть свойств роли).
Для помещения BLOB-объектов в хранилище BLOB-объектов существуют как бесплатные инструменты (например, Clumsy Leaf CloudXplorer), так и платные инструменты (например, Cloud Storage Studio компании Cerebrata).
Чтобы загрузить большие двоичные объекты в локальное хранилище, вы можете либо написать несколько строк кода .net (из OnStart), либо просто использовать утилиту, указанную в проекте codeplex.
person
David Makogon
schedule
14.06.2012