Git快速入门(07)比GitLab更好的选择-Gogs

Gitlab是企业git仓库最常用的私服,Gitlab是一个强大的git服务,基本功能和对手GitHub一样。 这是一个成熟的项目和并且在不断更新。安装过程也并不复杂,但是如果我们的目标是使用一个git代码托管服务,那么Gitlab相对来说也是有一些不足的:

1 Gitlab版本升级相对复杂一些,尤其是从较早的版本升级到最新版

2 很重!很重!有好几百兆大,启动时你可以看到到很多东西是在后台执行的。 例如 Sidekiq、Unicorn、Nginx、Ruby (包括 gems) 和 Gitlab本身。

3 如果选择自定义安装,就不简单了,有很多不确定因素,如果出了什么差错,要自己一个个排查

4 我们要的是版本控制服务,但是gitlab的功能不止如此,有很多其它功能,比如CI/CD等,而有了Jenkins,我们是很少会使用gitlab的做持续集成的造成了除了代码托管,其它功能几乎都没用

5 对中文的支持不是那么友好,当然高版本有所改进,但是也一般

6 gitlab本身运行最少需要4G以上的内存

等等

我们需要一个更加轻量级的,功能更加纯粹的,对中文支持非常好的,操作也更加简单的代码托管服务,Gogs是一个非常好的选择!







Gogs介绍

gogs官网地址:https://gogs.io  。Gogs 是一款极易搭建的自助 Git 服务。Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。Gogs这个项目的四位主要开发者都是中国人,该项目曾经蝉联 GitHub Go 语言 Trending 第一。

来看一下gogs与gitlab的对比,gitlab的大小是几百兆,gogs的二进制安装文件只有十几兆,而且gogs上面只有git托管功能,没有其它功能,很轻量级,至于汉化方面,来看下gitlab的10版本设置为简体中文后的页面效果:

再来看下gogs的效果:

很明显gogs在汉化方面更友好(中国人开发的嘛。。。)。

我们在gitlab的网站也能看到两个的对比:

https://about.gitlab.com/devops-tools/gogs-vs-gitlab.html

明显gitlab的功能强大,而gogs的特点是轻量级!






Gogs安装

我们使用二进制文件在Linux中安装,首先去官网下载二进制文件: https://gogs.io/docs/installation/install_from_binary  ,

把安装包传到服务器上面,解压,解压后的文件夹就叫gogs,然后进入文件夹。执行命令 

./gogs web

然后,就没有然后了。非常简单!为了让其在后台运行,我们可以使用nohup:

nohup ./gogs web &

来看一下启动日志:

可以看到gogs默认的运行端口为3000,我们来通过浏览器访问一下:

可以看到进入了一个使用前的配置页面,不过都是中文,就很简单了,数据库我们使用轻量级的sqllite:

应用基本设置,根据实际情况即可(注意系统用户要权限大些,这里暂时使用root,建议创建专门的gogs用户):

端口,域名和日志路径的配置:

配置一下邮箱服务,注意smtp地址要加端口号,邮箱来自要按照格式来写:

创建管理员信息(如果不创建,第一个用户默认就是管理员):

配置完成后点击安装,这样就可以了,由于我们设置了域名,所以要自己配置host,端口号写了80,不是默认的3000,因此要重启gogs,这样端口就能改过来,完成之后我们来访问一下:

现在安装完了!我们来登录,使用配置的管理员账号:

对于英文不好的人来说,页面实在太友好了,而且该有的功能一样不少:

我们来注册一个账号,试试邮箱功能:

邮箱的配置也十分顺利:






数据备份

gogs的备份命令是:

./gogs backup

我们在执行命令的目录就可以看到备份的数据:

加上参数 --target 表示指定备份在哪个目录,








数据恢复

数据恢复也很简单,首先恢复之前删除启动文件夹根目录下面的custom.bak文件(如果没有就不用管):

然后指定备份文件恢复:

./gogs restore --from=/data/gogs/backup/gogs-backup-20190712225417.zip







修改首页

我们进入首页,是一个gogs的宣传页面:

这个首页是可以个性化修改的,首页内容属于仓库源码,首页修改不包括自定义头部和尾部内容。

首页源码位置 templates/home.tmpl

保留该文件的头部和尾部引用 注意保留:头:{{template “base/head” .}},尾:{{template “base/footer” .}}

编辑自定义首页中间部分 templates/home.tmpl

重启 Gogs





版本升级

首先将旧的安装文件夹重命名:

mv gogs gogs_old

然后下载新的gogs并解压,然后把旧的文件夹下面的custom、data 和 log 目录复制到新解压的目录中

$ cp -R gogs_old/custom gogs

$ cp -R gogs_old/data gogs

$ cp -R gogs_old/log gogs

然后启动,版本升级就完成了!

更多的使用技巧,可以参考官方文档:https://gogs.io/docs  ,纯中文,一看就懂!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349