什么是Gogs

Gogs是一款极易搭建的自助Git服务。作为程序员,可能对Github已经非常熟悉了,我们经常会把自己的代码提交到Github。非付费用户在Github的代码是公开的,任何人都可以看到你提交的代码。有时候我们不想让别人看到自己提交的代码,或者只是想让我们授权的人访问自己的代码,通常会有一下几种方式:

  • 成为付费用户(不限平台),创建私有仓库。
  • 选择拥有一定数量免费私有仓库的平台,比如:Bitbucket等。
  • 自己搭建完全免费的Git服务,比如:Gitlab等。

Gogs属于最后一种方式,这是一个开源项目,核心代码使用Go语言编写,UI使用的是Semantic-UI。Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。Go目前支持29种语言,简体中文是必须的。

Gogs的使用场景

Gogs适合中小团队使用,工作流和大部分的Git服务类似,可以创建组织、仓库和工单(issue),也可以把其他平台的仓库迁移过来。总的来说,Gog能满足中小团队大部分的Git工作流需求。

为什么推荐Gogs

其实现在已经有很多类似的产品了,而且也都是免费的,有些甚至不用自己搭建,打开网页就能用,比如:Gitlab、码云等。我推荐Gogs只要是因为:

  • 完全开源,遵循MIT协议。
  • 核心代码使用Go语言编写(个人喜好)。
  • 官方完美支持中文。
  • 极易搭建。
  • 极简风格。

如何搭建

官方提供了5种搭建方式,分别是:

  • 二进制安装
  • 源码安装
  • 包管理安装
  • 采用Docker部署
  • 通过Vagrant安装

Gogs需要将一部分数据保存到数据库中,所以需要数据库支持,可以使用以下几种数据库:

  • MySQL:版本 >= 5.7
  • PostgreSQL
  • MSSQL
  • TiDB(实验性支持,使用 MySQL 协议连接)
  • 或者 什么都不安装 直接使用 SQLite3

根据官方文档的安装步骤一步一步搭建即可。但是,偷懒是程序员的必备技能之一啊!其实,搭建就分两部分:Gogs主程序和数据库。Gogs主程序官方提供了Docker镜像,数据库也能找到对应的Docker镜像,于是自然而然就能想到Docker三剑客之一的Docker Compose。大家可以使用我写的一个docker-compose.yml文件(数据库使用的是MySQL),地址是:https://github.com/blackmatch/gogs-docker-compose,几分钟就能轻松搭建好。

一些截图

从官网搬来几张截图供大家欣赏:

11

22

33

更多信息

官网:https://gogs.io/

官方体验网站:https://try.gogs.io/