一、为什么选了Gogs作Git服务?
最近公司由于一台用于git私有仓的服务器时间太长,考虑更换该台即将到期的服务器,加上公司近来业绩不佳,相关运维人员离职,时间又紧,决定自己另一台服务器上安装git服务器,第一选择依然是gitlab。
随即在服务器宝塔中找到了两个地方可以快捷安装,一个是在docker下,另一个在软件商店内,搜索git很容易找到gitlab的安装,。看似一切顺利,依次试了两种方式多次均提示成功,但无论如何都启动不起来,总出现以下错误提示:
经查发现由于缺失相关组件造成,在安装“yum install -y curl policycoreutils-python openssh-server”时出现无法连接的状况,与阿里沟通后,让选国内源。
之前就听说个国内一位大佬开发过一套git服务器,当时没怎么在意,现在想来不容干脆放弃gitlab,换成那一套算了,反正公司用git也没必要用太多功能,就是个代码的协同而已。于是回忆搜索一番,终于找到了那位大佬写的gitlab替代品gogs,完全开源且免费,非常小巧。
详细看了下介绍、使用说明和代码,甚是满意,代码用golang写成,有二进制版,可以直接运行使用,实在是太棒了,几分钟就搭建起来了,也推荐各种技术朋友选择。
安装后截图如下,直接显示了该软件的介绍:
二、几分钟就装上了Git服务!
1、安装Gogs
Gogs官方是这样介绍自己的“Gogs 是一款极易搭建的自助 Git 服务。Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、Mac OS X、Windows 以及 ARM 平台。”
使用后,果真一样,确实非常简单,前后就只用了几分钟就搞定了,实在是比gitlab爽很多,还不用占用太多不必要的资源。因为我并未考虑改太多东西,所以直接选择了二进制方式进行安装。
前提条件:
- 数据库(选择以下一项): - MySQL:版本 >= 5.7- PostgreSQL- TiDB(实验性支持,使用 MySQL 协议连接)- 或者 什么都不安装 直接使用 SQLite3
- git(bash): - 服务端和客户端均需版本 >= 1.8.3- Windows 系统建议使用最新版
- SSH 服务器: - 如果您只使用 HTTP/HTTPS 的话请忽略此项- 如果您选择在 Windows 系统使用内置 SSH 服务器,请确保添加
ssh-keygen
到您的%PATH%
环境变量中- 推荐 Windows 系统使用 Cygwin OpenSSH 或 Copssh- Windows 系统 请确保 Bash 是默认的 Shell 程序,而不是 PowerShell
幸运的是我的服务器上述条件均已必备,因此下载了适合我的Gogs二进制包,上传、解压,直接搞定。
安装步骤:
- 根据服务器配置从下载列表中选择适合的二进制包,上传到服务器某目录中。
- 在MySQL或其他可支持的数据库类型中新建空数据库gogs。
- 解压压缩包。
- 使用命令
cd
进入到刚刚创建的目录。- 执行命令
./gogs web
。- Gogs 默认会在端口
3000
启动 HTTP 服务,访问/install
以进行初始配置(例如 http://localhost:3000/install )。- 安装配置完成后,打开 http://localhost:3000/ 即可看到系统首页。
建议按官方说明搞成“系统服务”,我这里选择用了 systemd 模式,方便自动启动。
2、下载Gogs
本页仅展示Gogs最新版的二进制,gogs源码版和其他版本,请到Gogs官网查看:gogs.io。
0.13.0 @ 2023-02-25
系统名称系统类型SQLitePAM下载 (GitHub)Linux386✅✅HTTPS: ZIP | TAR.GZLinuxamd64✅✅HTTPS: ZIP | TAR.GZLinuxarmv7✅✅HTTPS: ZIP | TAR.GZLinuxarmv8✅✅HTTPS: ZIP | TAR.GZWindowsamd64✅❌HTTPS: ZIP | ZIP w/ mwsmacOSamd64✅❌HTTPS: ZIPmacOSarm64✅❌HTTPS: ZIP
三、小改一下界面样式感觉更佳!
默认启动后进入的是gogs的产品介绍,而且主体宽度适配的1024分辨率,为了更加友好,决定对界面进行适当改动。按照Gogs官方说明,可以自定义界面模板和相关样式。
我这里只对页面中间主体内容宽度和首页内容做了调整。
1、首先从官方最新版代码
/ (gogs.io)https://dl.gogs.io/
2、解压找到我们需要的文件目录
3、上传代码到gogs的安装目录下
将public、templates两个目录上传覆盖调custom下的同名名录。
4、修改Gogs(Git)界面主体宽度
打开public/gogs.min.css文件,默认为压缩的格式,最好用css格式化工具进行格式化。以下是格式化后,找到第13行、第17行,将其中的宽度修改为1200px,您也可以根据自己的需要修改。
![](https://i-blog.csdnimg.cn/direct/6365c03601fa4b3d829f6692c570a615.png)
5、修改Gogs首页内容
打开templates/home.tmpl文件,根据自己的需要修改内容即可。我这里注释掉了gog介绍,保留了版权链接声明。
6、修改代码仓列表布局
样式文件修改后,会对“发现”页中的布局产生些许影响,这里需要进行修改。打开templates/explore/repos.tmpl、repos_list.tmpl两个文件。按照以下内容进行修改:
7、重启Gogs看效果
我这里将 systemctl restart gogs.service 写到了 restart.sh 中,方便快速重启
作者也对界面中的logo、banner、尾部、头部等稍微做了相关修改,成品效果如下:
感觉这样就更简洁,更亲切了,也更适合团队内部使用。后面看看哪里不太舒服,也继续进行调整啦。
再说一句,针对比gitlab简单好用太多了!
四、小改代码分享
如果您觉得对本文中小改gogs的界面效果不错,想拿着直接用,本人把自己改的界面的相关代码放在了开放仓库里,您可以去下载直接使用哈。
jogit: Jogit 一款轻量级的git服务器端程序,基于Gogs修改而来,将持续修改UI以优化视觉,提供便捷自助搭建Git服务。 本仓目前只提供UI模板及配置相关文件。 (gitee.com)https://gitee.com/duihao/jogit
还有别忘了给本文和代码仓点个赞赞哦,给作者个小小的鼓励吧!
非常感谢CSDN这个平台给了我一个学习和分享的机会,让我们一起为CSDN点赞👍👍👍。
版权归原作者 对号东 所有, 如有侵权,请联系我们删除。