已有的商业 Git 平台(如 Gitee、GitHub)有诸多限制,如强制开源、人数限制等。在此背景下,本文的目的是搭建一个最简单、最快速和最轻松的 Git 环境。而 Gogs 基于 Go 语言开发,具有运行成本低、开源、稳定的优点而被采用。
所需依赖 (附链接):
下载 Git的可执行安装程序,一路 Next 便可。
下载并将 NSSM压缩包 解压到 Git 的安装目录下,解压后的文件夹如下图所示:
右击 我的电脑 -> _属性 -> 高级系统设置 -> 环境变量 -> 选中 系统变量 中的 Path 点击 编辑,添加以下记录(假设 Git 装在了 C:\Program Files\Git ):
C:\Program Files\Git\nssm\win64;C:\Program Files\Git\bin;
下载并将 Gogs压缩包 解压到 Git 的安装目录下,解压后的文件夹如下图所示:
用 cmd cd 到 Gogs 解压后的文件夹下(或通过在文件夹下 shift + 鼠标右键 ),运行以下命令试运行 Gogs:
gogs web
在浏览器中输入http://127.0.0.1:3000 查看 Gogs 是否安装成功。
注意,此时 Gogs 仅看作是一个应用程序,当命令窗口关闭时即不能访问,因此需要后面 NSSM 将其注册为服务,便可长期存在
如成功,则以管理员身份运行 Git\gogs\scripts\windows 下的 install-as-service 将 Gogs 注册为服务。
此处的 install-as-service 程序为 Gogs 官方所写的通过调用 NSSM 将Gogs发布为服务的脚本,因此这一步需要 NSSM 依赖
- custom
conf
app ------ Gogs配置文件
- data ------ 仓库、用户、组织等数据
- log ------ 日志
- script ------ 官方所提供的脚本
- data
------ 仓库、用户、组织等数据
- log
------ 日志
- script
------ 官方所提供的脚本
在新服务器上安装 Git, 并将整个 Gogs/NSSM 文件夹拷贝到新的服务器上,并参照上文手动添加环境变量,更改配置项。
如路径有变更,如从 D://Program Files//Git 变成 C://Program Files//Git ,需要在Gogs上登陆管理员账号,重新同步 pre_receive , post_receive, update。具体操作:登录后->右上角管理面板->控制面板->管理员操作->重新同步所有仓库的 pre-receive、update 和 post-receive 钩子->执行