如何用Gogs搭建一个源码托管平台

这是我参与新手入门的第一篇文章,希望今后的日子里有掘金相伴。

前言

为什么要搭建一个源码托管平台?GitHub 不香吗?码云不香吗?

香!但是搭建一个源码托管平台还是必要的!

从个人来说,掌握了这个技能在一些初创公司或者一些小公司中是很实用的;从公司的角度来讲,老板们觉得这么重要的东西掌握在自己手中才是最放心的(尽管可能他看不懂代码,服务器也可能是租的)。

好了,不如正题。相比较 Gitlab 我选择 Gogs 的理由其实很简单,后者比前者的内存要求更低,部署过程更加简单,当然功能上不如 Gitlab 全面。

准备工作

你需要提前准备一台服务器,服务器上应该提前安装一下 Git 程序,然后需要安装一个数据库,当然一般情况下用的是 MySQL 。

让我们来看下官方要求:

  • 数据库(选择以下一项):
    • 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 支持三种安装方式:二进制安装、源码安装、包管理安装。它支持Linux、Windows、MacOS,我选择的是linux环境+源码安装,下面也将基于这个进行讲解。

运行环境

因为 Gogs 是用 Go 语言编写的,所以我们需要在我们的服务器上安装 Go 环境,Go 的安装大家可以参考官网文档

源码方式安装

我们将创建一个名为 gog 用户,并在该用户空间内完成剩余的安装步骤:

sudo adduser --disabled-login --gecos 'Gogs' gog
复制代码

然后就是下载编译 Gogs

# 克隆仓库到 "gogs" 子目录
# 提示:理论上可以在任意位置创建子目录,但是推荐在home中创建
git clone --depth 1 https://github.com/gogs/gogs.git gogs
# 切换到工作目录
cd gogs
# 编译主程序,这个步骤会下载所有依赖
# 提示:这里调用的是go来编译的,所以前面需要将go语言环境配置好
go build -o gogs
复制代码

测试安装

你可以通过以下命令在上一步创建好的gogs文件夹中检查 Gogs 是否正常工作:

./gogs web
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享