本篇內(nèi)容介紹了“怎么解決Gitlab-error中RPC failed; result=22問題”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)專注于臺州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供臺州營銷型網(wǎng)站建設(shè),臺州網(wǎng)站制作、臺州網(wǎng)頁設(shè)計、臺州網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造臺州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臺州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
對Gitlab私有倉庫進(jìn)行代碼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
兩種方案操作成本都很昂貴,不可接受
因為gitlab本身自己封裝了nginx、redis等工具,包括這些工具的配置也一并解決,所以在推代碼的過程中,如果一次性提交的commit體積過大,超出max package的限定值,那么可能會產(chǎn)生上述異常
而絕對不是nginx或者操作系統(tǒng)本身的問題
但變更gitlab配置又是一件非常麻煩的事情,所以這里換一種思路:我們不依賴http協(xié)議進(jìn)行上傳,換用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形式進(jìn)行上傳,要將地址變更為類似: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è)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!