Официальный ответ от Amazon связан с этой темой, и они сказали, что «кто-то» использует Cygwin, и я тоже должен попробовать...
К сожалению, не имея другой возможности, я установил Cygwin и в appspec.yml прописал:
version: 0.0
os: windows
files:
- source: \xxx\
destination: C:\xxx\
hooks:
ApplicationStop:
- location: \deregister_from_elb.bat
timeout: 900
<next steps here>
ApplicationStart:
- location: \register_with_elb.bat
timeout: 900
В файле deregister_from_elb.bat я запускаю файл .sh с Cygwin следующим образом:
@echo off
SET mypath=%~dp0
SET mypath=%mypath:~3%
C:\cygwin64\bin\bash.exe -l -c "'/cygdrive/c/%mypath%deregister_from_elb.sh'"
Вы можете себе представить, как выглядит register_with_elb.bat.
Это решение сейчас работает в продакшене, без каких-либо серьезных проблем в течение примерно 6 месяцев.
person
piotrwest
schedule
13.07.2016