XFE 技术 生活 笔记 文集

私有git仓库 - gogs on deepin Linux

🔖 开发工具 👀 19 🕒 2019-11-06 👨‍🎓 XFE/Peter

gogs——一款极易搭建的自助 Git 服务。
最近在考虑自建Git服务器,在多方查找与筛选中,我们最终抛弃了gitlab,转而选择了gogs。
gitlab安装较为复杂,需要安装数个依赖服务,而gogs仅需要如下几步即可完成安装

依赖环境

摘选自官网

  • 数据库(选择以下一项):
    MySQL:版本 >= 5.5.3
    PostgreSQL
    MSSQL
    TiDB(实验性支持,使用 MySQL 协议连接)
    或者 什么都不安装 直接使用 SQLite3
  • git(bash):
    服务端和客户端均需版本 >= 1.7.1
    Windows 系统建议使用最新版
  • SSH 服务器:
    如果您只使用 HTTP/HTTPS 的话请忽略此项
    如果您选择在 Windows 系统使用内置 SSH 服务器,请确保添加 ssh-keygen 到您的 %PATH% 环境变量中
    推荐 Windows 系统使用 Cygwin OpenSSH 或 Copssh
    根据我司实际情况需求我们做了筛选,因为公司代码数据量并不大,故而使用sqlite3作为数据存储,也就无需配置第三方的DB-Server。所以实际安装步骤仅剩两步
  1. 安装git
    sudo apt install git
  2. 安装go语言运行环境
    gogs基于golang创建,故而需要准备golang运行环境
    sudo apt install golang

下载程序文件

由于我电脑系统为deepin Linux,基于Debian 二次开发的,所以直接选择了二进制文件安装
二进制文件下载地址
各位看官按照自己的需求选择对应的版本即可

wget http://7d9nal.com2.z0.glb.qiniucdn.com/gogs_0.11.43_linux_amd64.tar.gz

配置gogs

  1. 解压并将文件复制到指定目录
    tar -zxf linux_amd64.tar.gz; mv gogs /gogs
    此处由于是操作根目录,所以请提前切换到root权限,sudo权限不够
  2. 添加git用户
    useradd git
    chown -R git:git /gogs
    mkdir /gogs-repositories
    chown -R git:git /gogs-repositories
  3. 启动gogs web服务
    sudo su
    cd /gogs
    ./gogs web
  4. 首次运行配置gogs
    打开目标链接0.0.0.0:3000
  • 基本数据配置
    基本数据配置
    仓库根目录会涉和运行用户与前面的配置有关系,故而,推荐使用默认,其他三项请各位自行抉择
  • 数据库配置
    数据库配置
    此处我没有按照图上的默认数据,因为电脑上并没有mysql服务,故而选择了无依赖的sqlite3,各位可按照自己的实际情况选择,预估数据量大的情况下,mysql依然是你比较合适的选择,当然还有其他的数据库可用,详情请跳转至文首
  • gogs web服务配置
    web服务器配置
    日志路径建议不要更改,域名和端口号可根据自己需求随意定制
  • 可选配置
    可选配置
    此处的配置,我并没有深究,直接选用了默认值 ,各位想要了解的,可以查看配置说明文件
  • 管理员配置

    如提示所言,您可以在配置gogs 的时候设置管理员,也可在第一时间注册成为管理员。

    更多配置请参考

    gogs配置文件
    备用地址(更新时间:2018-04-11 00:24:15)

    通过守护进程运行

    如果直接执行 /gogs web 命令,在我们关闭终端之后,进程会自动关闭,所以我们为了保证服务的正常运行,需要用守护进程的方式启动
    由于我是用root用户安装的,所以一下命令各位看官可能需要根据自己的需要更改下 ,但是关键步骤肯定是相同的
    sudo su
    cd /gogs
    nohup ./gogs web
    此时我们回车,并输入 exit退出终端,gogs 将会在后台静默执行

    退出守护进程执行

    当我们需要重启服务的或者关闭服务的时候,打开终端执行如下步骤即可
    fg %n
    此时 ctrl+c即可结束后台进程