Amazon Codedeploy + 弹性负载均衡器 - Windows 支持
Amazon Codedeploy + Elastic Load Balancer - Windows support
在通过 CodeDeploy 部署时,是否有任何 bat 脚本(用于 Windows 服务器)来处理 Elastic Load Balancer?我只找到 linux:
的脚本
https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb
不幸的是,他们甚至没有在文档中提及 Windows 服务器支持:
http://docs.aws.amazon.com/codedeploy/latest/userguide/elastic-load-balancing-integ.html
Amazon 的官方回答链接回了这个主题,他们说 "someone" 正在使用 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 个月没有出现任何重大问题。
在通过 CodeDeploy 部署时,是否有任何 bat 脚本(用于 Windows 服务器)来处理 Elastic Load Balancer?我只找到 linux:
的脚本https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb
不幸的是,他们甚至没有在文档中提及 Windows 服务器支持:
http://docs.aws.amazon.com/codedeploy/latest/userguide/elastic-load-balancing-integ.html
Amazon 的官方回答链接回了这个主题,他们说 "someone" 正在使用 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 个月没有出现任何重大问题。