[英]custom_hooks of gitlab in post-receive, ssh to another server
我想在post-receive
添加gitlab custom_hooks
。
我ssh
到另一台服務器; 我已經添加的內容id_rsa.pub
到authorized_keys
另一服務器上,並且git
用戶可以在不在終端輸入密碼登錄。
當我按下時,可以觸發post-receive
,但它不能ssh
到服務器。
有沒有人知道兩種類型的ssh或任何其他建議之間的區別?
解決了。 gitlab通過docker安裝,因此執行post-receive的git用戶是gitlab docker的用戶。 輸入gitlab docker並獲得正確的id_rsa.pub
到另一台服務器后,問題就解決了。 感謝所有人,特別是@vonc。
post-receive可以觸發,但不能ssh到服務器
只需在post-receive
腳本中使用ssh debug命令替換ssh命令:
id -a
和echo $HOME
,以便仔細檢查誰正在執行腳本,以及哪個$HOME
(因為ssh
會在$HOME/.ssh
尋找id_rsa
) ssh -Tv xxx@server.yyy
以顯示有關失敗的ssh連接的調試信息。 這應該給你關於“兩種類型的ssh”的線索。
正如OP發現的那樣,這是因為錯誤的用戶在玩:
gitlab通過docker安裝,因此執行
post-receive
的git
用戶是gitlab docker的用戶。
進入gitlab docker並獲得正確的id_rsa.pub
到另一台服務器后,問題就解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.