对于快速且无需授权的Git数据访问,可以根据Git协议建立基于守护进程的仓库。因为,不包含授权服务,通过该协议管理的内容将在其网络公开。

如果运行在防火墙之外的服务器,它应该是只对那些公开的只读项目服务。

如果运行在防火墙之内的服务器,它可以用于支撑大量参与人员或自动系统(如持续集成或编译的主机)进行只读访问的项目,从而省略SSH公钥的麻烦。

通常,只需要以守护进程的形式运行该命令

git daemon --reuseaddr --base-path=/opt/git/ /opt/git/

--reuseaddr 允许服务器在无需等待旧连接超时的情况下重启。

--base-path 允许用户在未完全指定路径下克隆项目。

可以通过许多方式将该进程以守护进程的方式运行,这主要取决于使用的操作系统。

如果是Ubuntu,可以使用Upstart脚本,在/etc/event.d/local-git-daemon 添加

start on startup
stop on shutdown
exec /usr/bin/git daemon \
    --user=git --group=git \
    --reuseaddr \
    --base-path=/opt/git/ \
    /opt/git/
respawn

出于安全考虑,要使用一个对仓库拥有只读权限的用户运行该守护进程。

results matching ""

    No results matching ""