如何通过 VSTS 发布定义使用 haproxy 负载均衡器来上/下维护页面?

Posted

技术标签:

【中文标题】如何通过 VSTS 发布定义使用 haproxy 负载均衡器来上/下维护页面?【英文标题】:How to put the maintenance page up/down using haproxy load balancer through the VSTS release defintion? 【发布时间】:2018-02-22 13:09:36 【问题描述】:

我正在研究 VSTS DevOps,目前我使用 haproxy 负载平衡器在将 Web 应用程序部署到指定的 IIS 网站之前手动放置维护页面。之后,转到该站点并将 _app.offline.htm 重命名为 app.offline.htm,反之亦然。

示例代码:

sudo /etc/haproxy/maint_page_up.sh – 在工作开始前放置维护页面

sudo /etc/haproxy/maint_page_down.sh – 在工作完成后关闭维护页面

但我希望通过 VSTS 发布级别进行上述过程,目前我使用 IIS Web 应用程序部署任务将网站部署到服务器中,此任务包含选项为使应用程序脱机,但我不想使用该选项用于在部署之前放置离线页面。但我想使用 haproxy 负载均衡器放置维护页面。

【问题讨论】:

你的意思是你只需要在本地调用那个脚本就可以了?如果是这样,您可以在发布期间调用这些脚本文件(maint_page_up.sh、maint_page_down.sh)。 【参考方案1】:

在对此进行了一些研究之后,我通过使用此任务发现了名为“SSH”任务的 VSTS 任务,我可以在开始部署 Web 应用程序之前和之后运行 shell 命令来放置维护页面成功部署了我的 Web 应用程序,然后我删除了维护页面。

示例命令:

sudo /etc/haproxy/maint_page_up.sh

sudo /etc/haproxy/maint_page_down.sh

【讨论】:

以上是关于如何通过 VSTS 发布定义使用 haproxy 负载均衡器来上/下维护页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义VSTS中的版本名称?

如何将 VSTS 构建和发布定义从一个实例移动到另一个实例?

如何在 VSTS 的发布管理中添加 AD 组以使用队列?

如何在 VSTS 仪表板小部件中使用 REST API 从 TFS 获取构建定义?

如何通过 VSTS 部署流分析作业?

如何在VSTS版本定义中处理WebRole的配置转换