Gin 开发环境下实现代码的热更新部署

简介: Gin 开发环境下实现代码的热更新部署

前言

在开发过程中,实时的热更新和快速部署是 提高开发效率代码调试 的重要因素。

热更新部署介绍

热更新(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

简洁、轻量级 API 框架

目录
相关文章
|
6月前
|
Web App开发 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
551 0
|
6月前
|
JavaScript 前端开发
koa开发实践1:基于 gulp 搭建 typescript 自动构建环境
koa开发实践1:基于 gulp 搭建 typescript 自动构建环境
178 0
|
JSON 中间件 Go
Gin 学习之安装和快速启动
Gin 学习之安装和快速启动
90 0
|
JavaScript Serverless 应用服务中间件
nodejs 如何实现自动化部署?
什么是自动化部署 我接触到的自动化部署概念最早是在 Vercel 上提供的,Vercel 可以提供和 github 上的某个库建立‘链接’,当你 commit 到 github 远程库时就可以自动部署,Vercel 会帮你完成操作
nodejs 如何实现自动化部署?
|
JSON 前端开发 JavaScript
[Golang实战] 带你入手gin框架使用,以项目为例
[Golang实战] 带你入手gin框架使用,以项目为例
|
JavaScript 前端开发 Go
esbuild 配置开发环境
esbuild 相信在使用过vite的同学都知道,vite是开发环境使用的是esbuild来进行编译代码的,生成环境打包使用的是rollup,想看rollup的同学,可以查看我的往期文章。(实战 rollup 第一节入门) (rollup 实战第二节 搭建开发环境)(rollup 实战第二节 搭建开发环境)
esbuild 配置开发环境
|
测试技术
vue-cli3打包项目不同环境:开发环境、生产环境、测试环境
vue-cli3打包项目不同环境:开发环境、生产环境、测试环境
241 0
|
Kubernetes 安全 应用服务中间件
Higress 实战:30 行代码写一个 Wasm Go插件
在 11 月 15 号的直播 《Higress 开源背后的发展历程和上手 Demo 演示》中,为大家演示了 Higress 的 Wasm 插件如何面向 Ingress 资源进行配置生效,本文对当天的 Demo 进行一个回顾,并说明背后的原理机制。
Higress 实战:30 行代码写一个 Wasm Go插件
|
Kubernetes 安全 应用服务中间件
Higress实战: 30行代码写一个Wasm Go插件
一个遵循开源Ingress/Gateway API标准,提供流量调度、服务治理、安全防护三合一的高集成、易使用、易扩展、热更新的下一代云原生网关。
Higress实战: 30行代码写一个Wasm Go插件
|
前端开发 测试技术 API
开发 Babel 插件可以试试这个 CLI 工具
大家好,我是小鑫同学。一位从事过Android开发、混合开发,现在长期从事前端开发的编程爱好者,我觉得在编程之路上最重要的是知识的分享,所谓三人行必有我师。所以我开始在社区持续输出我所了解到、学习到、工作中遇到的各种编程知识,欢迎有想法、有同感的伙伴加我fe-xiaoxin微信交流~
280 0