内网怎么把 Git 装起来:部署完成后用 clone 和合并请求验收

本文详解在内网Linux服务器上私有化部署AngusGit的完整流程,重点聚焦部署后的功能性验收:建仓、SSH克隆(端口2222)、分支推送、拉取请求发起与合并。涵盖安装前准备(Docker、DNS、端口配置)、交互式向导使用、SSH密钥与访问令牌配置、数据库与仓库备份策略,并强调社区版10用户限制及常见问题排查。所有操作均面向信息技术团队落地实践。

这篇讲在内网把 AngusGit 装起来之后,怎么确认团队真的能用。看完你可以在一台 Linux 上按安装向导装完,再用建仓、SSH 克隆、推送分支、合并拉取请求四步验收。拉取请求(Pull Request)是把一个分支的改动申请合进另一个分支的页面,同事可以在上面查看改动,确认后再合并。

验收里的 SSH 要先有公钥。本机还没有 ~/.ssh/id_ed25519.pub 时,执行 ssh-keygen -t ed25519 -C "you@example.com",保存路径直接回车,再执行 cat ~/.ssh/id_ed25519.pub,复制以 ssh-ed25519 开头的一整行。登录 AngusGit 后,侧栏进入 我的 → SSH密钥,点 添加SSH密钥,标题自定,粘贴这一行,点 添加密钥。地址里的用户名固定是 git,端口是 2222。想改用 HTTPS 时,到 我的 → 访问令牌 点 生成新令牌,密码验证 填登录密码,勾选 git:write,仓库权限设为 WRITE,生成后马上复制。推送时用户名填登录名,密码填这把令牌。

AngusGit 的私有化安装包自带一个交互式向导,在一台内网 Linux 服务器上按提示选几项、填几项就能装完。向导里要选定安装方式、访问方式和数据库,日常则要把数据库和仓库目录一起备份。下文以社区版(最多 10 个用户)为例;团队版和企业版的安装步骤相同,只是需要额外提供许可证文件。

1. 安装前准备

机器配置: 如果这台服务器只运行 AngusGit 和它依赖的用户中心 GM(负责账号、登录和团队管理的服务),最低 2 核 4 GB 内存就够用;仓库多、同时使用的人多时,建议 4 核 8 GB。磁盘从 80 GB 起步,因为仓库文件会持续增长,建议放在单独的 SSD 上。

软件: 服务器需要提前装好 Docker 和 Docker Compose,安装向导会用它们启动各个服务。数据库不用单独准备,向导可以顺带启动一个 MySQL 8。

域名: 推荐用子域名访问。先准备一个根域名,例如 example.com。安装后会用到 gm.example.com 和 git.example.com 这两个子域名,要在内网 DNS 上把它们都解析到这台服务器。如果只是先试一试,也可以不改 DNS,在自己电脑的 hosts 文件里加一行:

192.168.1.20 gm.example.com git.example.com

把这一行里的 192.168.1.20 换成服务器的内网 IP。

端口: 浏览器访问走 80 端口,配了证书就走 443 端口。开发者通过 SSH 推拉代码走 2222 端口。AngusGit 默认把 SSH 放在 2222,和服务器自身 SSH 服务常用的 22 错开,所以后面的克隆地址里都会写上端口 2222。浏览器端口和 2222 都要在防火墙上放行。

2. 下载并运行安装向导

curl -LO https://repo.anguskit.com/raw/raw-public/AngusKit/git/AngusGit-Community-1.0.0.zip
unzip AngusGit-Community-1.0.0.zip
cd AngusGit-1.0.0
./install.sh

安装包大约 310 MB。如果服务器不能访问外网,先在能联网的机器上下载,再拷贝到服务器上;完全离线的环境还需要提前导入 Docker 镜像,方法见文末参考里的离线安装文档。

执行 ./install.sh 时请用普通用户,不要加 sudo。如果之前用 sudo 装过一次,向导会提示你先把目录的所有者改回当前用户。

向导会依次提问。下表是推荐的选法,其中几项的详细说明放在表格后面:

向导提示推荐填写说明
Install mode1(Docker Compose)默认项。2 是直接在主机上运行,需要自备数据库和 JDK 21
Access2(Bundled reverse proxy)用子域名访问,适合团队长期使用
Proxy engine1(Caddy)默认项
TLS certificate4(No TLS,HTTP on :80)内网先用 HTTP 跑通
Database1(Compose 里启动 MySQL 8)不用自备数据库
Install directory直接回车用默认目录
Public DNS nameexample.com只填根域名,不要填 gm.example.com;向导会列出需要解析的子域名
Admin username / Admin passwordadmin / 自己设的密码之后登录用的管理员账号,密码至少 8 位
TimezoneAsia/Shanghai默认项
MySQL root password自己设一个默认是 Angus123,正式使用一定要改

表格里有三项值得多说几句:

  • Access 决定浏览器怎么访问服务。默认项 1 让浏览器直接访问 8801、8803 这类端口,适合单机试用。推荐的 2 会启动一个自带的反向代理,也就是一个统一接收 80 端口请求、再按域名转给 GM 或 Git 的前置服务,这样大家用子域名访问即可,更适合团队长期使用。
  • TLS certificate 决定是否启用 HTTPS 证书。内网可以先选 4 用 HTTP 跑通;已有证书时选 1 并填写证书文件路径。选项里还有一个 Let’s Encrypt,它要求服务器能被公网访问,内网环境不要选。
  • Database 除了推荐的 1,选 3 会改用 PostgreSQL 16;如果已经有数据库,选 2(MySQL 8)或 4(PostgreSQL 14 及以上)。

填完之后,向导开始配置并启动服务,同时提示「Leave this terminal running until you see “Install finished.” or ERROR.」,意思是在看到 Install finished. 或 ERROR 之前不要关闭终端。首次启动时,每个应用都要花几分钟。安装成功时,终端最后会依次打印 doctor: OK(健康检查通过)和 Install finished.,下面还会列出 GM 控制台地址、管理员用户名和安装目录。

看到 Install finished. 后,再等一分钟左右让服务完全就绪,然后打开浏览器。

3. 登录

在浏览器里打开 http://gm.example.com/,用向导里设置的管理员账号登录 GM。登录之后,打开 http://git.example.com/,或者通过页面上的应用切换进入 Git。

如果 Access 选的是默认的 1,就不用子域名,地址是向导最后打印的 http://服务器地址:8801/,Git 一般在 8803 端口。端口被占用时向导会自动换一个,所以请以终端打印出来的地址为准。

4. 四步验收:克隆、推送、拉取请求、合并

页面能打开,只说明服务进程起来了。下面四步依次验证团队和仓库能建、SSH 能连、代码能写入、拉取请求能合并,全部跑通才说明团队可以正常使用。

  1. 建团队和仓库

    仓库要建在某个所有者(个人或团队)名下,所以先建团队。进入 设置 → 团队,点 新建团队,团队标识 填一个英文短名,例如 demo,它会出现在仓库地址里。然后在侧栏点 仓库 → 新建仓库,所有者选 demo,仓库名填 hello,并勾选 添加 README 文件。这样仓库一建好就有内容,下一步可以直接克隆。

  2. 登记 SSH 公钥并克隆

    SSH 公钥是你电脑上一对密钥中可以公开的那一半,登记到 AngusGit 之后,服务器就能认出这台电脑,推拉代码时不用再输密码。进入 我的 → SSH密钥,点 添加SSH密钥,粘贴本机公钥。还没有密钥时,按开头的 ssh-keygen 生成并复制 .pub 那一行。然后在开发机上执行 git ls-remote 测试连接,能列出 refs/heads/main 就说明 SSH 已经连通,接着再克隆仓库。

  3. 推送一个分支

    这一步验证代码能不能写进服务器。在克隆下来的仓库里新建一个分支,改一个文件,提交后推送。推送成功,说明你的写权限和服务器磁盘都正常。

  4. 发起拉取请求并合并

    最后验证协作流程。在仓库页面上,为刚才推送的分支发起一个合并到 main 的拉取请求,打开 文件变更 确认能看到改动,再点合并。合并后到 main 上能看到这次改动,验收就完成了。

第二步和第三步用到的命令如下,地址里的 demo/hello 就是上面建的团队和仓库:

git ls-remote ssh://git@git.example.com:2222/demo/hello.git
git clone ssh://git@git.example.com:2222/demo/hello.git
cd hello
git switch -c check-install
echo "install ok" >> README.md
git commit -am "Check install"
git push -u origin check-install

SSH 地址里带着 :2222,用户名固定是 git,不用换成你的登录名。实际使用时,请以仓库页面上复制出来的地址为准。如果 SSH 连不上,按开头核对公钥是否已登记、地址端口是否为 2222。想改用 HTTPS 时,按开头生成 git:write 令牌,用户名填登录名,密码填令牌。

5. 装完之后要知道的几件事

日常运维命令: 下面这些命令都在安装目录下执行:

命令参数与时机作用
./bin/angusctl.sh status随时执行查看各服务容器是否在运行
./bin/angusctl.sh doctor安装后或排障时做一次健康检查,安装时最后一步就是它
./bin/angusctl.sh start改配置后先 render启动全部服务
./bin/angusctl.sh upgrade升级版本时升级到新版本

表中 start 一行的「改配置后先 render」,意思是改过配置之后,先执行 render,再执行 start。

数据在哪、怎么备份: 仓库文件存放在 $ANGUS_HOME/data/git,用户、团队、拉取请求等数据存放在数据库 angus 里。这两部分要一起备份:数据库用 mysqldump 导出 angus 库,仓库目录用 tar 打包。如果只备份其中一个,恢复后就会出现数据库里有仓库记录却找不到文件,或者有文件却没有记录的情况。

SSH 端口: 默认是 2222,对应配置项 GIT_SSH_PORT。如果改成 22,克隆地址会变成 git@git.example.com:demo/hello.git 这种不带端口的形式;但改之前要先确认服务器自身的 SSH 服务没有占用 22 端口。

社区版的用户数: 社区版最多 10 个用户,这是许可证的限制。团队超过 10 人时,需要换成团队版或企业版。

6. 安装中常见的问题

遇到问题时,先在终端或浏览器里找到和下表第一列相同的现象,再按同一行处理。

你看到的原因怎么处理
向导提示目录权限不对,要求 chown之前用 sudo 运行过安装按提示把解压目录的所有者改回当前用户,再不加 sudo 运行 ./install.sh
Public DNS name 填了 IP 后报错选了反向代理访问,就必须用域名填根域名;只想用 IP 访问时,Access 选 1
浏览器打不开 gm.example.com子域名没有解析到服务器检查内网 DNS 或本机 hosts,两个子域名都要解析
页面能打开但登录后报错,或者一直加载服务还没完全启动等一两分钟再刷新;用 ./bin/angusctl.sh status 查看状态
git ls-remote 报 Connection refused 或超时连的是 22 端口,或防火墙没有放行 2222改用带 :2222 的地址,并检查防火墙
浏览器里没有 CI/CD 菜单社区版不包含流水线属于版本差异,安装本身没有问题

常见问题

能不能装在已有的 MySQL 上?

可以。Database 选 2,按提示填写已有 MySQL 8 的地址、端口、用户和密码。向导会先检查能否连上数据库,连不上就直接停止安装。

团队版、企业版的许可证怎么提供?

安装时加上参数即可:./install.sh --license 许可证文件路径。安装时没有提供许可证也能装完,向导会给出提示;服务启动后,用管理员账号登录 GM,在系统许可证页面导入即可。注意,导入许可证之前,业务功能不可用。

小结

在内网装 AngusGit,只需要一台 2 核 4 GB 起步、装好 Docker 的 Linux 服务器,下载安装包后用普通用户运行 ./install.sh。向导里推荐选择 Docker Compose 安装、自带反向代理、内网先用 HTTP、数据库用自带的 MySQL 8,Public DNS name 只填根域名。看到 doctor: OK 和 Install finished. 后,先登录 GM 再进入 Git,按建仓、克隆、推送、合并拉取请求四步验收,四步都通过才算真正装好。日常运维时,记得把数据库 angus 和 $ANGUS_HOME/data/git 一起备份。社区版包含仓库、拉取请求和评审,需要内置流水线时,请使用团队版或企业版的安装包。

结论: 普通用户执行 ./install.sh 看到 doctor: OK 和 Install finished. 后,必须依次跑通「建仓、SSH 克隆(2222 端口)、推送分支、发起并合并拉取请求」四步,才算内网部署验收完成。

参考文章

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值