架构师带你飞系列④



Gitea其实是Gogs的孪生兄弟,因为这是从Gogs源码的基础上开发的,算是分叉?官方介绍是"Gitea 是一个开源社区驱动的 Gogs 克隆",关于原因可以参考官网上的一篇介绍——>传送门


一.介绍


基本上就是有一部分开发者认为Gogs的开发者效率比较慢,而且不接受他人加入开发,所有修改和PR都需要经过他一个人的审核,这对Gogs的发展很不利。因而部分开发者决定基于Gogs重开一个项目,这就是Gitea,关于这件事我不予置评,但是开源社区不就是因为这样才充满活力与生机吗,百花齐放。

二.安装

因为和Gogs很像,所以我不会做太多说明了

前往 https://dl.gitea.io/gitea 复制最新版本的下载链接



#添加Git用户

groupadd git

useradd git -g git -s /bin/false

#更新Git

#IUS源依赖EPEL源

yum install epel-release -y

#CentOS6自带的Git只有1.7,我们需要更新的版本

rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm

#卸载老版本并安装新版

yum remove git -y

yum install git2u -y

#创建目录

mkdir /home/git/gitea /var/log/gitea

#获取程序

wget https://dl.gitea.io/gitea/1.4.0-rc3/gitea-1.4.0-rc3-linux-amd64 -O /home/git/gitea/gitea

#添加执行权限

chmod +x /home/git/gitea/gitea

#修改所有人

chown -R git:git /home/git/gitea /var/log/gitea

#安装supervisor

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

rm -rf get-pip.py

pip install supervisor

#配置supervisor

echo_supervisord_conf > /etc/supervisord.conf

echo "supervisord" >> /etc/rc.local

cat >>/etc/supervisord.conf<<'EOF'

[program:gitea]

directory=/home/git/gitea/

command=/home/git/gitea/gitea web

autostart=true

autorestart=true

startsecs=10

stdout_logfile=/var/log/gitea/stdout.log

stdout_logfile_maxbytes=1MB

stdout_logfile_backups=10

stdout_capture_maxbytes=1MB

stderr_logfile=/var/log/gitea/stderr.log

stderr_logfile_maxbytes=1MB

stderr_logfile_backups=10

stderr_capture_maxbytes=1MB

user = git

environment = HOME="/home/git", USER="git"

EOF

#启动supervisor

supervisord

#查看日志

supervisorctl tail -f gitea stdout


之后还是照旧,我们可以看到Gitea确实比Gogs更新的更快……比如这儿就支持了LFS(另外感兴趣的可以对比下Gitea在Fork了Gogs后提交的Commit和Gogs自己的Commit的数量,可以很明显的看出前者确实更新的比较频繁)

架构师带你自建Git服务器②Gitea_git

之后大部分和Gogs相比都差不多,就是有些地方可能功能会有所不同,大家可以去试试。至于到底是用Gogs还是Gitea,我建议大家可以先装个Gitea,然后和Gogs官网的Demo对比下,看看哪个更符合自己的需要。



​​

架构师带你自建Git服务器②Gitea_架构师_02

架构师带你自建Git服务器②Gitea_git_03