一、安装Gogs

1.创建新用户

sudo adduser --disabled-login --gecos 'Gituser' git
sudo su gitcd ~mkdir gogscd ~/gogs

2.到官网找到下载链接,下载gogs对应linux-arm v7最新版本的二进制文件

sudo wget https://dl.gogs.io/0.12.6/gogs_0.12.6_linux_armv7.zip -O gogs.zip
  • wget 命令行下载
  • -O 下载文件更名,这里应该可以不改,为了方便看而已

3.解压

sudo unzip gogs.zip
sudo rm gogs.zip
sudo chown -R git:git ~/gogs

4.尝试启动

./gogs web

5.电脑端浏览器访问http://192.168.1.6:3000/install (192.168.1.6为树莓派的ip地址)

进入首次安装页面

我这里只改了域名,改成树莓派的IP地址,点击立即安装

6.等待安装完成,浏览器重新访问http://192.168.1.6:3000/,跳转到登录页面

二、开机自启动服务
cp /home/git/gogs/gogs/scripts/systemd/gogs.service /usr/lib/systemd/system
systemctl daemon-reload


我这里是选择了1(用pi账号去验证,也成功了)

4.使systemctl在系统启动时运行服务文件

sudo systemctl enable gogs.service

5.运行服务

sudo systemctl start gogs.service

6.查看状态

sudo systemctl status gogs.service

7.重启树莓派,验证启动服务是否正常

su
reboot

系统启动成功后ssh重连树莓派,查看gogs是否已经启动

ps -ef | grep gogs


启动成功。the end

遇到的问题

1.下载gogs二进制文件时要求输入git密码,(这里的git是指新创建的用户)

passwd git

2.下载gogs二进制文件输入密码之后提示git 不在 sudoers 文件中

git    ALL=(ALL:ALL) ALL chmod u+w /etc/sudoersvi /etc/sudoers
# User Privilege SPECIFICATION
root    ALL=(ALL:ALL) ALL
git    ALL=(ALL:ALL) ALL
:wqchmod 440 /etc/sudoers
sudo systemctl start gogs.service

提示 ExecStart=/home/git/gogs/gogs web (code=exited, status=203/EXEC)

解决:

可能的原因:步骤问题?或者是权限问题?
尝试解决方案1:把gogs/scripts/systemd/gogs.service 复制到 /usr/lib/systemd/system,并给文件执行权限,依然失败

可能原因:service文件中设置的执行路径错误
尝试解决方案2:vim /usr/lib/systemd/system/gogs.service,修改文件中ExecStart=/home/git/gogs/gogs web 为ExecStart=/home/git/gogs/gogs/gogs web

这个修改后的路径是gogs所在的位置

再次systemctl start启动gogs服务,还是失败
可能原因:修改的gogs.service不对,执行的时候还是用的/home/git/gogs/gogs/scripts/systemd/路径下的gogs.service

systemctl daemon-reload