前面介绍了 Gitlab 的搭建,功能很强大,无论是 cpu 还是内存,要求机器的配置要高一些。
如果没有比较高的机器配置,只使用最常用的 Git 代码托管功能,那么就使用 Gogs 来快速部署吧。
Gogs 是一款极易搭建的自助 Git 服务。旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。
使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的所有平台,包括 Linux、macOS、Windows 和基于 ARM 的操作系统。
官网地址:https://gogs.io
GitHub 地址:https://github.com/gogs/gogs
Gitee 地址:https://gitee.com/unknwon/gogs
搭建和配置 Gogs
我的 CentOS7 虚拟机 ip 地址是 192.168.136.128,已经安装好了 docker 和 docker-compose
我们首先在自己的虚拟机上创建 /app/gogs 目录,里面在创建一个子目录 data 和 docker-compose.yml 文件
然后编写 docker-compose.yml 文件内容如下:
version: "3.5"
services:
gogs:
container_name: gogs
image: gogs/gogs:latest
restart: always
ports:
- "8080:3000"
- "8022:22"
volumes:
- /app/gogs/data:/data
然后运行 docker-compose up -d
命令启动服务,访问 http://192.168.136.128:8080
展示配置页面
数据库支持多种,最简单的方式就是选择 SQLite3 文件数据库,实际开发或生产环境最好选择 MySQL 等高级数据库
将域名修改成容器的宿主机的 ip 地址,应用 url 修改成宿主机的 ip 和外部端口,其它的配置可以不用修改
对于可选配置,只需要配置【管理员账号设置】即可,管理员邮箱可以随便填写,不需要是一个真实的邮箱
然后点击【立即安装】,很快就会初始化好数据库,完后后并自动登录进入首页
到此为止,Gogs 就搭建完毕了,其具有的主要功能如下:
- 控制面板、用户页面以及活动时间线
- 通过 SSH、HTTP 和 HTTPS 协议操作仓库
- 管理用户、组织和仓库
- 仓库和组织级 Webhook,包括 Slack、Discord 和钉钉
- 仓库 Git 钩子、部署密钥和 Git LFS
- 仓库工单(Issue)、合并请求(Pull Request)、Wiki、保护分支和多人协作
- 从其它代码平台迁移和镜像仓库以及 Wiki
- 在线编辑仓库文件和 Wiki
- Jupyter Notebook 和 PDF 的渲染
- 通过 SMTP、LDAP、反向代理、GitHub.com 和 GitHub 企业版进行用户认证
- 开启两步验证(2FA)登录
- 自定义 HTML 模板、静态文件和许多其它组件
- 多样的数据库后端,包括 PostgreSQL、MySQL、SQLite3 和 TiDB
- 超过 31 种语言的本地化
另外 Gogs 对硬件要求很低,绝大多数机器都能够满足要求:
- 最低的系统硬件要求为一个廉价的树莓派
- 如果用于团队项目管理,建议使用 2 核 CPU 及 512MB 内存
- 当团队成员大量增加时,可以考虑添加 CPU 核数,内存占用保持不变
有关 Gogs 的使用,这里就不介绍了,可以查看官网使用文档:https://gogs.io/docs