GoHotDeploy 是一个轻量级工具,通过 GitLab Webhooks 实现 Go 应用程序的热部署。
English | 简体中文
-
安装 GoHotDeploy:
go get github.com/treeforest/gohotdeploy
-
创建一个名为
config.yml
的配置文件,内容如下:port: 8080 repositories: my-repo: build_relative_dir: . build_args_bin: ""
将
.
替换为 Git 仓库中构建目录的相对路径。如果build_relative_dir
为空,则默认为当前仓库目录。修改
build_args_bin
的值以包含在执行构建的二进制文件时传递的参数。如果build_args_bin
为空,则在程序执行时不会传递额外的参数。 -
启动 GoHotDeploy:
gohotdeploy --config=config.yml
GoHotDeploy 将在指定的端口(默认为 8080)上启动一个 HTTP 服务器,用于监听 GitLab Webhook 事件。
-
配置 GitLab Webhook:
- 进入 GitLab 项目设置页面。
- 在左侧导航栏中选择 "Webhooks"。
- 添加一个新的 Webhook,设置如下:
- URL:
http://your-server-ip:8080/
- 触发器: "Push events"
- SSL 验证: 根据服务器配置启用或禁用
- 保存 Webhook。
- URL:
每当 GitLab 仓库发生推送事件时,GoHotDeploy 将自动构建和部署您的应用程序。