搭建git服务gogs中遇到的问题

搭建git服务gogs中遇到的问题

1.git的服务端有以下选择

git stack
bonobogitserver
gitbit
gitolite
gitlab
gitea
gogs

比较:

git服务器安装环境优点缺点
Gitblitwindows易安装一些git常用的功能不全
gitolitewindows/linux可以做到分支级别的权限管理,资源消耗低轻量 但是配置使用文件完成,有学习成本
GitLablinux功能强大,可以管理大型项目资源消耗大
gogs/giteawindows/linux开源 轻量 易安装 跨平台 资源需求小不适合大团队 功能少

2.Gogs介绍

官网地址:https://gogs.io
文档地址:https://gogs.io/docs


Gogs,全称为Go Git Service,是一个基于 Go 语言开发的Git服务。它提供了一个类似于GitHub的界面和功能,允许您在自己的服务器上搭建私有的Git仓库和代码托管平台(类似gitlab)。

以下是Gogs的一些主要特点:

易安装
您除了可以根据操作系统平台通过 二进制运行,还可以通过 Docker 或 Vagrant,以及 包管理 安装。

跨平台
任何 Go 语言 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。挑一个您喜欢的就行!

轻量级
一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。最大程度上节省您的服务器资源!

开源化
所有的代码都开源在 GitHub 上,赶快加入我们来共同发展这个伟大的项目!还等什么?成为贡献者吧!

总之,Gogs作为git的服务端,够用,简单。

3. gogs搭建

gogs搭建总体上说比较简单:
官方文档
https://github.com/gogs/gogs/blob/main/README_ZH.md
可以通过以下 6 种方式来安装 Gogs:

二进制安装
源码安装
包管理安装
采用 Docker 部署
通过 Vagrant 安装
通过基于 Kubernetes 的 Helm Charts

作者选择centos7.5包管理安装

1.安装mysql

gogs需要依赖数据库,本文采用mysql,所以先安装mysql.
mysql安装掠过,要注意的是,mysql要配置远程访问

使用获取到的密码进入数据库

mysql -uroot -p

修改数据库密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘输入修改后的密码’;

创建gogs数据库
刷新权限

flush privileges;

2.安装gogs

2.1、安装Git和Wget

yum install -y git
yum install -y wget

2.2、安装Gogs
进入git用户目录,下载Gogs安装包

cd /home/git
wget https://dl.gogs.io/0.13.0/gogs_0.13.0_linux_amd64.tar.gz

解压:

tar -zxvf gogs_0.13.0_linux_amd64.tar.gz

运行Gogs服务

cd /home/git/gogs
./gogs web >/dev/null 2>&1 &

访问Web页面

在浏览器中输入:http://ip:3000

4.其中遇到问题:

4.1 初始化配置时,提示无法识别 ‘git’ 命令

如果是这个错误,就是没有安装git
使用:yum install -y git 安装git

4.2 Access denied for user ‘root‘@‘localhost‘ (using password: YES)

创建新的mysql用户,在客户端上可以登录,但是在命令行无法登录,在http://ip:3000/install页面也无法提交,提示以上错误。

最后重启服务器之后可以登录了。

4.3 数据库设置不正确:Error 1071 (42000): Specified key was too long; max key length is 767 bytes

这个错误是数据库表字段长度之和不能超过42000.

第一要检查表类型是否是 InnoDB

ENGINE=InnoDB

① innodb存储引擎,多列索引的长度限制如下:

每个列的长度不能大于767 bytes;所有组成索引列的长度和不能大于3072 bytes

② myisam存储引擎,多列索引长度限制如下:

每个列的长度不能大于1000 bytes,所有组成索引列的长度和不能大于1000 bytes

第二要配置 InnoDB

④ 修改innodb_large_prefix,innodb_file_format参数(root用户下)

mysql> set global innodb_large_prefix=1;

mysql> set global innodb_file_format=BARRACUDA;

4.4 配置gogs

应用配置
进入/home/git/gogs/custom/conf/目录
修改app.ini配置文件,根据需求进行配置

修改第22行:
EXTERNAL_URL = http://localhost:3000/
将localhost修改为服务器ip

然后访问
http://42.193.9.223:3000/user/login
注册登录,创建仓库

以上是安装Git、Wget、MySQL和Gogs的步骤,请按照顺序进行操作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值