今天GitLab push突然報錯:
git push origin issue_232
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 348 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: hooks/update:10:in `require_relative': cannot load such file -- /home/git/repositories/test-project.git/lib/gitlab_update (LoadError)
remote: from hooks/update:10:in `<main>'
remote: error: hook declined to update refs/heads/issue_232
To [email protected]:cml/jiangshu-sports-lottery.git
! [remote rejected] issue_232 -> issue_232 (hook declined)
原因是前不久剛剛將gitlab遷移到另一台服務器上。結果對比之後,發現,舊的正確的gitlab server上
/home/git/repositories/test-project.git/hooks/update 文件是一個link,指向
update -> /home/git/gitlab-shell/hooks/update
因此手動的刪除該文件,並添加Link
rm update
ln -s /home/git/gitlab-shell/hooks/update update
這樣查找的目錄就變成了gitlab-shell,自然能找到文件。
只是一旦重新啟動gitlab,update又變成了文件,push再次報錯。以後寫個腳本專門啟動後處理一下吧。