Amazon Codedeploy + Elastic Load Balancer — поддержка Windows

Существуют ли сценарии bat (для Windows Server) для обработки Elastic Load Balancer при развертывании через CodeDeploy? Нашел только скрипты для линукса:

https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb

К сожалению, они даже не упоминают в документах о поддержке Windows Server:

http://docs.aws.amazon.com/codedeploy/latest/userguide/elastic-load-balancing-integ.html


person piotrwest    schedule 05.11.2015    source источник
comment
Конечно, я мог бы использовать Cygwin для запуска этих скриптов, но это кажется непослушным обходным путем...   -  person piotrwest    schedule 06.11.2015
comment
Я работаю над портом на самом деле. Просто интересно, почему вы думаете, что Cygin будет «непослушным»?   -  person Rodrigo M    schedule 07.11.2015
comment
Наконец, я получил его работу с Cygwin. Тем не менее, я также подал заявку в службу поддержки Amazon — посмотрим, каков будет их ответ. Решение с Cygwin не кажется мне подходящим, потому что то, что я пытаюсь сделать, довольно простое, популярное дело, и требовать дополнительного программного обеспечения нелепо. Развертывание Microsoft Azure из git намного проще.   -  person piotrwest    schedule 08.11.2015


Ответы (1)


Официальный ответ от 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