Потратил время на это. Что бы не забыть:
CodeDeploy скачивает бандл, разворачивает, копирует, запускает и так далее.
У меня есть хук BeforeInstall - это скрипты - один batch, второй ps1. Они запускаются до начала отработки секции files!
appspec.yml:
version: 0.0
os: windows
files:
- source: Websites\
destination: C:\Websites
hooks:
BeforeInstall:
- location: CodeDeploy\beforeinstall.bat
timeout: 900
- location: CodeDeploy\beforeinstall.ps1
timeout: 900
AfterInstall:
- location: CodeDeploy\afterinstall.bat
timeout: 900
- location: CodeDeploy\afterinstall.ps1
timeout: 900
Beforeinstall.bat:
------------------------
@@echo off
%systemroot%\system32\inetsrv\APPCMD stop sites "Default Web Site"
iisreset /stop
FOR /F "tokens=1 delims=," %%i IN (%~dp0\apps_list.txt) DO (
pushd C:\Websites\%%i
rmdir /s /q C:\Websites\%%i
)
iisreset /start
%systemroot%\system32\inetsrv\APPCMD start sites "Default Web Site"
-------------------
Красным выделил переменную, которая даст текущее местоположение скрипта (не место, откуда запустили а именно место, где сам скрипт лежит). В файле apps_list.txt перечень сайтов и соответствие пулов IIS для каждого через запятую.
site1,pool number 1 ASP
site2, .NET 4.0 pool
CodeDeploy скачивает бандл, разворачивает, копирует, запускает и так далее.
У меня есть хук BeforeInstall - это скрипты - один batch, второй ps1. Они запускаются до начала отработки секции files!
appspec.yml:
version: 0.0
os: windows
files:
- source: Websites\
destination: C:\Websites
hooks:
BeforeInstall:
- location: CodeDeploy\beforeinstall.bat
timeout: 900
- location: CodeDeploy\beforeinstall.ps1
timeout: 900
AfterInstall:
- location: CodeDeploy\afterinstall.bat
timeout: 900
- location: CodeDeploy\afterinstall.ps1
timeout: 900
Beforeinstall.bat:
------------------------
@@echo off
%systemroot%\system32\inetsrv\APPCMD stop sites "Default Web Site"
iisreset /stop
FOR /F "tokens=1 delims=," %%i IN (%~dp0\apps_list.txt) DO (
pushd C:\Websites\%%i
rmdir /s /q C:\Websites\%%i
)
iisreset /start
%systemroot%\system32\inetsrv\APPCMD start sites "Default Web Site"
-------------------
Красным выделил переменную, которая даст текущее местоположение скрипта (не место, откуда запустили а именно место, где сам скрипт лежит). В файле apps_list.txt перечень сайтов и соответствие пулов IIS для каждого через запятую.
site1,pool number 1 ASP
site2, .NET 4.0 pool
Комментариев нет:
Отправить комментарий