#health-check #helper #nginx #port #configuration #deployment #blue-green

app bghelper

bgHelper 是一个简单的辅助工具,与 nginx 一起使用,可以实现蓝绿部署。

1 个稳定版本

2.0.0 2023 年 3 月 15 日

#416配置

MIT 许可证

10KB
155

bghelper

bgHelper 是一个简单的辅助工具,与 nginx 一起使用,可以实现蓝绿部署。只需在自己的端口上启动服务器并运行工具,如果健康检查成功,它将刷新 nginx 配置。如果成功,您可以安全地关闭之前的实例。

健康检查命令是可配置的,它将通过传递新服务的 localhost:port 来调用。

默认情况下,它使用 Unix "true" 来跳过它,我建议至少使用 curl --healthcheck curl 来确保服务器是启动的。

curl 仍然可能返回错误,例如,如果服务器返回自定义 500 页面,并且 curl 可能不在您的机器上可用。

如果您不知道新实例要使用哪个端口,请不要担心!

您可以使用 -i 标志来检查当前 nginx 配置中的端口。

由于您可以使用 (code)-p-q 控制辅助工具使用的端口,因此您可以自动化在其他端口上启动服务器。

此辅助工具是用 Reason 本地编写的,以快速且独立于您的代码,您可以使用它与 node、go、php 或甚至 fastcgi 服务器一起使用。新版本(V2)已用 Rust 重新实现,因为构建可重复性问题以及 Reason 处于休眠(死亡?)状态的事实。

如果没有正确的权限,辅助工具将失败,因此请确保首先可以写入配置,它也会告诉您配置不存在,并且您可以通过传递 --force 参数来创建一个初始配置。

如果健康检查失败,辅助工具将退出并显示错误,您可以在 ci/cd 环境中使用此功能来了解是否出现错误,并实现零停机时间。

V2 新特性

V2 预期一个更简单的配置,预期在 nginx server 指令内部有 import _conf_,这样更容易在机器上设置多个服务,这些服务监听不同的路由。

V2 因此删除了 --servername--listen 选项。V2 增加了一个 --route [-r] 选项来定义与 / 不同的路由。

** 已知问题 ** 我还没有设置 ssl 选项,可能会在未来添加。V2 版本仍然没有单元测试,很抱歉。

Usage:
======
bghelper [--help] [-p 3000] [-q 3001] [-e false] -c /path/to/nginx/conf

When calling bgHelperApp it's possible to pass some options:
--help (-h)             : this help text
--port1 <port>          : port 1 (default to 3000)
--port2 <port>          : port 2 (default to 3001)
--healthcheck           : path to healthcheck program (default to "true")
--current-port          : returns the current configured port and exit.
--force                 : creates the configuration file if doesn't exist (using port1)
--route                 : allow a different route from /

开发中

cargo build

运行二进制文件

cargo run -- <your options here>

运行测试

:-(

许可证:bghelper 根据 MIT 许可证授权。

依赖项

~3–15MB
~140K SLoC