以前使用 Gitlab 搭建过 Git 服务的小伙伴都知道,这个 GitLab 方案占用内存比较大,没有个8G 内存,很难流畅运行,而且部署起来也不容易。所以今天的主角他来了,Gogs 是一款极易搭建的自助 Git 服务,使用 Go 语言开发,只要 Go 语言支持的平台它都支持,包括 Linux、Mac OS X、Windows 以及 ARM 平台。Gogs 对系统硬件要求极低,你甚至可以在树莓派上搭建它。
第一个是数据库,这个主要是存储一些 Gogs 的配置信息,支持 MySQL-utf-8 (version >= 5.7)、PostgreSQL、TiDB、或者什么都不安装直接使用 SQLite3 。
第二个是 Git,Gogs 也是依赖于 Git ,这个需要自行安装,可以访问 http://git-scm.com/download/linux 查看各个平台的安装说明,较为简单。
Gogs 的安装方式也是多种多样,可以二进制安装、源码安装、包管理安装,还可以注册为注册为 Windows 服务运行等安装方式
首先使用下面命令,拉取 gogs 镜像
docker pull gogs/gogs
接着,使用下面命令启动 gogs 实例,-v 讲容器数据映射到宿主机 /var/gogs 目录下
docker run --privileged=true -d --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs
浏览器输入 http://192.168.184.130:10880/ ip 根据自己的来,首次运行安装程序 需要配置一些基本信息。最简单的是选择 SQLite3,如果对于规模较大的公司,可以选择 MySQL。
初次使用需要进行注册,第一个注册的用户是管理员,例如。我这里先注册的 root 再注册的 zs
如果实在容器或者是虚拟机等情况下呢,git 仓库的地址是 localhost 形式,解决的办法就是修改配置
进入容器内部,再进入 /data/gogs/conf ,然后打开 app.init 文件
找到 EXTERNAL_URL 对应的值,修改为宿主机绑定的 ip 或者是 域名,然后到宿主机重启 gogs 容器即可
再次刷新页面,已是预期的地址,然后再 git clone [url] 可以看到是成功的