1 个稳定版本
2.0.0 | 2023 年 3 月 15 日 |
---|
#416 在 配置
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