溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么解決Gitlab-error中RPC failed; result=22問題

發(fā)布時間:2021-11-16 16:11:11 來源:億速云 閱讀:936 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“怎么解決Gitlab-error中RPC failed; result=22問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

場景復現(xiàn)

對Gitlab私有倉庫進行代碼push操作,產(chǎn)生如下異常信息:

Counting objects: 875, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (523/523), done.
Writing objects: 100% (875/875), 42.94 MiB | 9.72 MiB/s, done.
Total 875 (delta 206), reused 2 (delta 0)
error: RPC failed; result=22, HTTP code = 500
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

Gitlab官方對此issue的反饋信息:https://gitlab.com/gitlab-org/gitlab-ce/issues/12629

查看官方issue后,可以發(fā)現(xiàn)官方對此問題的解決方式基本是以下兩種方案:

  • 更換CentOS操作系統(tǒng)為Ubuntu

  • 更換Nginx引擎為Tomcat

兩種方案操作成本都很昂貴,不可接受

問題出現(xiàn)原因

因為gitlab本身自己封裝了nginx、redis等工具,包括這些工具的配置也一并解決,所以在推代碼的過程中,如果一次性提交的commit體積過大,超出max package的限定值,那么可能會產(chǎn)生上述異常

而絕對不是nginx或者操作系統(tǒng)本身的問題

但變更gitlab配置又是一件非常麻煩的事情,所以這里換一種思路:我們不依賴http協(xié)議進行上傳,換用ssh協(xié)議便可以繞開這個問題

新的解決辦法

新的解決辦法:變更提交方式為ssh即可

具體操作步驟:

  • 提交public key到Gitlab的賬戶下

    這一步ssh key的生成和提交可以參考我的這邊博客:GitHub——ssh免密登錄

  • 變更項目remote地址

    在項目路徑下使用命令 git remote -v

    如果是以http/https形式上傳代碼的話,那么地址格式類似于:gitlab http://${your domain name}/liumapp/${your project name}.git (fetch)

    我們要做的,就是把它變更為以ssh形式進行上傳,要將地址變更為類似:gitlab git@github.com:liumapp/${your project name}.git

    操作命令 git remote set-url gitlab git@${your domain name}:liumapp/${your project name}.git

    順便一提,上面出現(xiàn)的liumapp請自行替換為自己的gitlab賬號名稱

  • 使用ssh推代碼, git push ,問題解決

“怎么解決Gitlab-error中RPC failed; result=22問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI