之前我的git服务gogs是部署在家里的群晖NAS上的,由于有几台云主机闲着,于是我就把gogs迁移一份过去,相当于做个备份,gogs迁移过程很简单,直接把数据打包过去,然后在CentOS上下载最新的gogs进行配置然后就可以了,启动之后发现能pull代码,但是不能push,一直报错
error: cannot run hooks/pre-receive: No such file or directoryremote: hooks/pre-receive: line 2: /app/gogs/gogs: No such file or directory
To ssh://gogs.11000011.com/agcdefg.git
看描述是pre-receive文件报错不存在/app/gogs/gogs目录,于是我随便进入一个项目查看hooks下面的pre-receive文件,如下
│#!/usr/bin/env bash
"/app/gogs/gogs" hook --config='/data/gogs/conf/app.ini' pre-receive
之前的gogs是跑在docker环境下的,迁移的CentOS是6.8版本的,由于对docker支持不过好,直接用的gogs的二进制版本,所以配置产生了差异,解决办法
1. 创建文件/app/gogs/gogs并让git用户可读写
2. 创建链接ln -s xxx/app.ini /data/gogs/conf/app.ini
我要评论