搞开发的同学都应该知道git,可以说git是目前最先进的分布式版本控制系统,没有之一。git的诞生也有着传奇色彩,最初Linux内核的版本控制使用的是闭源的商业软件BitKeeper,后来因为一些事情Linux团队跟他们闹翻了,Linus Torvalds决定开发自己的版本管理系统不再受制于人,10天后git诞生了,没错是10天!
数据无价,本教程的操作有一定的风险,开始前请备份重要数据!!!
git的优点不再赘述,主要讲一下如何在树莓派上用Gitea部署自己的git代码托管平台。
如果是大、中型团队推荐使用GitLab,如果是中、小型团队或者个人使用,那么Gitea非常适合你。
Gitea是一个开源社区驱动的Gogs克隆,是一个轻量级的代码托管解决方案,后端采用Go编写,采用MIT许可证。可运行在Windows、macOS、Linux、ARM等平台。相比Gogs来说更新频率更高,推荐使用。
推荐使用基地2.0系统进行部署。
首先参考https://linuxer.top/archives/raspi-install-mysql57.html这篇文章安装Mysql数据库或者MariaDB,当然也可以不安装,Gitea也支持使用SQLite,推荐使用Mysql或MariaDB。
Mysql创建数据库gitea编码使用utf8mb4,创建用户gitea,把数据库gitea的权限赋给用户gitea。
配置环境:
#更新系统
sudo apt update
sudo apt upgrade
#安装git
#如果想用最新版git可以参考git官网编译安装
sudo apt install git
#创建git用户
sudo useradd -m -s /bin//bash git
#切换到git
su - git
#创建工作目录
mkdir gitea
cd gitea
#到https://github.com/go-gitea/gitea/releases
#找最新的arm64发布版本地址
#目前是1.12.1
#下载
wget https://github.com/go-gitea/gitea/releases/download/v1.12.1/gitea-1.12.1-linux-arm64.xz
#解压
xz -d gitea-1.12.1-linux-arm64.xz
#赋执行权限
chmod u+x gitea-1.12.1-linux-arm64
#创建软连接,方便更新
ln -sf gitea-1.12.1-linux-arm64 gitea
#如果需要更新版本的时候,先停掉服务
#下载最新的可执行文件解压
#创建软连接到最新版
#ln -sf gitea-x.xx.x-linux-arm64 gitea
#然后启动服务
#启动服务
#sudo systemctl start gitea.service
#停止服务
#sudo systemctl stop gitea.service创建systemd服务
开一个新终端窗口,用root权限创建文件/etc/systemd/system/gitea.service,内容如下:
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#根据使用的数据库打开下面的注释
#我这里用的mysql
Requires=mysql.service
#Requires=mariadb.service
[Service]
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gitea/
ExecStart=/home/git/gitea/gitea web
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/home/git/gitea
[Install]
WantedBy=multi-user.target使用root权限启动服务:
#刷新服务
systemctl daemon-reload
#设置开机启动
systemctl enable gitea.service
#启动
systemctl start gitea.service这时服务已经启动,访问ip:3000/install进行安装配置,我这里的地址是192.168.1.240:3000/install
数据库配置:
一般配置,这里的各种路径根据自己需求进行填写,不明白什么意思的就保持默认:
可选设置中配置管理员账户,注意,这里不能用admin作为用户名:
没有提到的配置大家根据自己需求设置,然后开始安装,安装完成后跳转到首页:
部署完成,更多的功能大家自己探索吧~
本文为原创文章,版权归 Kevin's Blog 所有,转载请联系博主获得授权。
大神更新得很勤啊,我都还没时间跟着做,有空一定要全部都折腾一下。
我一直不太理解这个git是干嘛用的,是不是理解成自己的本地代码仓库?
就是个分布式的版本控制软件