#deployment #iis-7 #web #cruisecontrol.net #multiple-projects
#развертывание #iis-7 #веб #cruisecontrol.net #несколько проектов
Вопрос:
В нашей компании у нас есть несколько проектов на одном сервере IIS, и я работаю над автоматизацией сборки с помощью CruisControl. Мой вопрос в том, что мне нужно перезапустить конкретный сайт IIS после развертывания без входа на сервер или с помощью заданий CruiseControl.
У кого-нибудь есть идеи?
Ответ №1:
Ну, я получил ответ на это 🙂 Поэтому я использовал пакетный скрипт для остановки / запуска IIS и выполнил его с панели управления CruiseControl. Вы можете использовать приведенный ниже пакетный сценарий, если у вас нет разрешения администратора на выполнение appcmd.
** Ниже расположение по умолчанию во всей системе (может быть отложено)
создайте отдельный пакетный файл для остановки и запуска и запустите его из задания CCNet.
"C:WindowsSystem32inetsrvappcmd stop site qwerty"
— Останавливает сайт ‘qwerty’
"C:WindowsSystem32inetsrvappcmd start site qwerty"
— Запускает сайт ‘qwerty’
дайте мне знать, если это поможет!
Ответ №2:
Вы можете запустить отдельный веб-сайт, не влияя на работу любого другого веб-сайта, который поддерживается сервером, обслуживаемым Internet Services Manager.
Для запуска отдельного веб-сайта, который ранее был остановлен:
-
Войдите на компьютер веб-сервера в качестве администратора.
-
Нажмите Пуск, выберите Настройки, а затем выберите Панель управления.
-
Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб Интернета.
-
Щелкните правой кнопкой мыши веб-сайт, который вы хотите запустить, на левой панели и нажмите кнопку Пуск.
Командная строка:
Командная строка Для запуска или остановки веб-сайта используйте следующий синтаксис:
appcmd start | stop site /site.name:string
Переменная string — это имя веб-сайта, который вы хотите запустить или остановить.
Например, чтобы остановить веб-сайт с именем contoso, введите следующее в командной строке, а затем нажмите ENTER:
appcmd stop site /site.name: contoso
Надеюсь, это вам поможет 🙂
Комментарии:
1. Спасибо, это помогает, но поскольку у меня нет доступа администратора к серверу, я не могу выполнить эту команду там. на моем локальном компьютере все работало нормально. Есть идеи, как это сделать с помощью CrusiControl?
2. отлично.. Добро пожаловать :)… В CrusiControl я не нашел никакого прямого способа добиться этого.. однако, если я что-нибудь найду, я тоже добавлю это…
Ответ №3:
На данный момент я не нашел способа перезапустить любой сайт по отдельности, однако с помощью модуля IISAdministration power shell мы можем автоматизировать процесс или использовать наш скрипт для автоматического перезапуска сайта
Stop-IISSite -Name $web -Confirm:$false #$web provide IIS site name
Как только сайт остановлен, вы можете начать снова (перезапустить)
Start-IISSite -Name $web