我在ubuntu的ec2上运行了一个节点服务器,当我在Gitab集成中为此创建了一个钩子时,应该在推送到master时进行更新。
我看到了钩子遍历日志并执行每个命令,期望简单的git pull。
我已经检查了许多类似的问题,其中有一些建议,例如附加env -i
以重置GIT_DIR,以便该命令可以执行,但到目前为止还算不上成功。
我尝试执行不同的命令,例如git status
,它们通常通过bash脚本中的钩子执行。
这是我的脚本,它与存储库一起位于我的主文件夹中:
#!bin/bash
cd toTheFolder
git pull
这是执行脚本的终点
childProcess.exec(
"bash temp.sh",
{ cwd: "/home/ubuntu/repoFolder" },
function(err, stdout, stderr) {
console.log(stdout, stderr);
if (err) {
return res.status(500).send(err);
}
res.status(200).send("OK");
}
);
它返回的错误是{"killed":false,"code":1,"signal":null,"cmd":"bash temp.sh"}
任何关于为什么简单的git pull
不起作用的想法都会有很大帮助。
-谢谢
编辑:这是标准输出的输出
git@gitlab.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.