前言
在开发过程中,实时的热更新和快速部署是 提高开发效率 和 代码调试 的重要因素。
热更新部署介绍
热更新(Hot Reload)是一种开发技术,它使开发人员能够在不重启应用程序的情况下实时更新代码。通常,在传统的开发过程中,当我们对代码进行修改后,需要重新编译和重启应用程序才能看到修改的效果。而热更新则可以实现在代码修改后,应用程序可以自动加载并应用新的更改,无需重新启动。
热更新在开发过程中具有许多优势。首先,它提高了开发效率,因为开发人员无需手动停止和启动应用程序,节省了时间。其次,热更新能够减少开发过程中的中断,开发人员可以立即查看修改的效果,并进行实时调试和测试。另外,热更新还有助于减少应用程序的停机时间,从而提供更好的用户体验。
热更新通常在开发环境或调试阶段使用,用于加快开发迭代过程中的代码修改和调试。在生产环境中,热更新并不常见,因为它可能引入潜在的安全风险和稳定性问题。在生产环境中,通常会采用其他部署策略来确保代码的可靠性和稳定性。
项目中如何使用?
在开发环境下,你可以执行以下脚本来启动服务:
// Mac / Linux 环境,在项目根目录下运行 ./scripts/hotreload.sh // Windows 环境,在项目根目录下运行 ./scripts/hotreload.bat
组件介绍
组件:https://github.com/codegangsta/gin
gin 是一个简单的命令行实用程序,用于实时重新加载 Go Web 应用程序。只需在应用程序目录中运行 gin 命令,你的 Web 应用程序将使用 gin 作为代理进行服务。当 gin 检测到代码更改时,它将自动重新编译你的代码。你的应用程序将在接收到下一次 HTTP 请求时重新启动。
gin 遵循“沉默是金”的原则,因此只有在出现编译器错误或在错误后成功编译时才会发出警告。
gin Options:
--laddr value, -l value:代理服务器的监听地址 --port value, -p value:代理服务器的端口(默认值:3000) --appPort value, -a value:Go Web 服务器的端口(默认值:3001) --bin value, -b value:生成的二进制文件的名称(默认值:"gin-bin") --path value, -t value:要监视文件的路径(默认值:".") --build value, -d value:要构建文件的路径(默认与 --path 相同) --excludeDir value, -x value:要排除的相对目录 --immediate, -i:构建完成后立即运行服务器 --all:在任何文件更改时重新加载,而不仅仅是 .go 文件更改 --godep, -g:在构建时使用 godep --buildArgs value:额外的 go build 参数 --certFile value:TLS 证书文件 --keyFile value:TLS 证书密钥文件 --logPrefix value:设置自定义日志前缀 --notifications:启用桌面通知 --help, -h:显示帮助信息 --version, -v:打印版本信息
go-gin-api
- GitHub: https://github.com/xinliangnote/go-gin-api
- 中文文档:https://www.yuque.com/xinliangnote/go-gin-api/ngc3x5