在通过CodeDeploy部署时,是否有任何bat脚本(对于Windows Server)来处理Elastic Load Balancer?我发现只有linux的脚本:
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
答案 0 :(得分:0)
亚马逊的官方回答与这个主题有关,他们说'#34;某人"正在使用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 文件中,我使用Cygwin运行 .sh 文件,如下所示:
@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个月内没有任何重大问题。