今天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_232To git@gitlab.cmltechnology.cn: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 updateln -s /home/git/gitlab-shell/hooks/update update
這樣尋找的目錄就變成了gitlab-shell,自然能找到檔案。
只是一旦重新啟動gitlab,update又變成了檔案,push再次報錯。以後寫個指令碼專門啟動後處理一下吧。