记录自建Gitea代码托管服务操作步骤分享!

虽然前一段时间入手了4H16G12M的腾讯云轻量应用的服务器,虽然理论上和实际上对于跑Gitlab来说已经绰绰有余了(何况我还是私人用,单用户),但是吧,之前被Gitlab坑过一次(迁移,备份后新机子上导入,导入成功了,但是实际上看有部分项目没有还原),而且上面也说了,这配置跑Gitlab绰绰有余,但Gitlab有属于那种“集成式”的服务,自带了比如想Nginx等服务,你说好吧,也好!你说不好吧!也不好!好处就是简单粗暴,坏处就是臃肿;而且不好跟第三方整合(比如宝塔面板),于是乎想想,算了,反正我一个人用,换Gitea吧,虽然看上去很“简陋”,但架不住轻巧,

Snipaste_2022-03-03_20-58-15.png

准备工作

首先,在安装gitea之前,请确保服务器已经有了如下软件:

  • git 必须
  • wget (可选,如果你熟悉其他类似命令,如:curl)
  • vim(可选,如果你熟悉其他类似命令,如:vi)

开始安装

首先,我们建立一个用户,这一步新版本貌似是必须得(不能用root账号运行),当然这也是个好习惯,所以我们先建立一个新用户(可以不设置密码,如果你暂不使用ssh方式拉取代码的话)

useradd git

建立后,使用如下命令,切换用户然后到该用户的目录下,建一个gitea目录

su git
cd ~
mkdir gitea
cd gitea

这一步操作完成后,就直接下载二进制包就行了,提供如下链接

根据如上信息,可得出如下命令(也可以自行修改为curl指令)

2022年3月4日补充:实测最新版拉取远程仓库会有问题,所以这里采用使用中文文档内推荐的1.16.0版本!

wget -c wget -O gitea https://dl.gitea.io/gitea/1.16.0/gitea-1.16.0-linux-amd64

下载完成后,给予该文件执行权限(使用 chmod 指令)

chmod +x gitea

当走到这一步其实就已经搭建好了,你只需要启动就行了,启动命令如下:

./gitea web

当然,如果你想在后台运行,方式有很多,比如使用 screen 或者命令后面加个 & 号,参考命令如下:

./gitea web &

当然很显然,Gitea没有Gitlab那样全权包办,如果你服务器有重启需求,并且希望每次重启自动启动这个gitea服务,那么可以继续往下阅读,反之你就不用继续往下看了!

开机自启动

开机自启动其实很好时间,只需要注册成系统服务即可!首先切换到root账户(如果已经是root了就不用切换了)

su root

切换后,使用 vim 创建 /etc/systemd/system/gitea.service 文件,当然你用其他类似的指令,如:vi 也可以!

vim /etc/systemd/system/gitea.service

在该文件内填入如下内容(仅供参考,实测可用)

[Unit]
Description=Gitea
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
ExecStart=/home/git/gitea/gitea
Restart=always

[Install]
WantedBy=multi-user.target

然后就很简单了,开启这个服务即可,命令如下:

sudo systemctl enable gitea
sudo systemctl start gitea