chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于Gitlab私有倉(cāng)庫(kù)建設(shè)的實(shí)踐

馬哥Linux運(yùn)維 ? 來源:進(jìn)擊云原生 ? 作者:進(jìn)擊云原生 ? 2022-03-16 08:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹了 Gitlab 私有倉(cāng)庫(kù)建設(shè)的實(shí)踐。

包管理是 Go 一直被詬病做的不好的功能。在 1.11 之前,go get 缺乏對(duì)依賴包版本管理和 reproducible build 的支持。當(dāng)時(shí)在 Go 社區(qū)當(dāng)時(shí)誕生了許多好用的工具,比如 glide,dep 等。在 1.11 版本之后, Go 引入了 Go Module,再也沒有 GOPATH 的限制,你可以隨意在任何路徑寫項(xiàng)目,但是此時(shí)對(duì)私有倉(cāng)庫(kù)的支持還不是很好。而在 1.13 版本之后, Go 對(duì) Go Module 又進(jìn)行了優(yōu)化,支持了GOPRIVATE環(huán)境變量,可以指定私有倉(cāng)庫(kù)的地址,使用十分便捷。大家在使用過程中,或多或少地會(huì)遇到一些問題,下面我針對(duì)自己遇到的問題進(jìn)行總結(jié)。

go get

如果在沒有進(jìn)行任何設(shè)置的情況下直接執(zhí)行go get your.gitlab.com/pkg/example,你很可能會(huì)遇到以下錯(cuò)誤:

goget:moduleyour.gitlab.com/pkg/example:gitls-remote-qoriginin/go/pkg/mod/cache/vcs/a39fc2dbfb0a9645950d24df5d7e922bb7a6a877aecfe2b20f74b96385a83109:exitstatus128:
fatal:couldnotreadUsernamefor'https://your.gitlab.com':terminalpromptsdisabled
Confirmtheimportpathwasenteredcorrectly.
Ifthisisaprivaterepository,seehttps://golang.org/doc/faq#git_httpsforadditionalinformation.

其實(shí)錯(cuò)誤提示已經(jīng)把解決方案給到我們了,我們只需要點(diǎn)擊 golang.org/doc/faq#git_https 查看即可。

下面是原文:

Why does “go get” use HTTPS when cloning a repository?

Companies often permit outgoing traffic only on the standard TCP ports 80 (HTTP) and 443 (HTTPS), blocking outgoing traffic on other ports, including TCP port 9418 (git) and TCP port 22 (SSH). When using HTTPS instead of HTTP, git enforces certificate validation by default, providing protection against man-in-the-middle, eavesdropping and tampering attacks. The go get command therefore uses HTTPS for safety.

Git can be configured to authenticate over HTTPS or to use SSH in place of HTTPS. To authenticate over HTTPS, you can add a line to the $HOME/.netrc file that git consults:

machinegithub.comloginUSERNAMEpasswordAPIKEY

For GitHub accounts, the password can be a personal access token. Git can also be configured to use SSH in place of HTTPS for URLs matching a given prefix. For example, to use SSH for all GitHub access, add these lines to your ~/.gitconfig:

[url"ssh://git@github.com/"]
insteadOf=https://github.com/

大概意思是,HTTPS 更安全,所以go get命令使用 HTTPS。

如果你要用 HTTPS,那你就需要配置 HTTPS 的用戶名和密碼:

machinegithub.comloginUSERNAMEpasswordAPIKEY

當(dāng)然也可以使用 ssh,需要修改你的 git 配置,

修改當(dāng)前用戶的~/.gitconfig,添加:

[url"ssh://git@your.gitlab.com/"]
insteadOf=https://your.gitlab.com/

另外執(zhí)行下面的命令也能達(dá)到同樣的效果:

gitconfig--globalurl."git@your.gitlab.com/".insteadof"https://your.gitlab.com/"

操作完之后,我們就可以使用go get了,使用go get -v可以展示執(zhí)行日志。

GONOPROXY

眾所周知,國(guó)內(nèi)用戶大多設(shè)置代理,我們?cè)?Go 1.12 之前如果使用GOPROXY這個(gè)環(huán)境變量設(shè)置代理,并使用私有倉(cāng)庫(kù),很有可能會(huì)遇到下面的錯(cuò)誤:

gogetyour.gitlab.com/pkg/example:moduleyour.gitlab.com/pkg/example:
readinghttps://goproxy.cn/your.gitlab.com/pkg/example/@v/list:404NotFound

這是因?yàn)榇矸?wù)不可能訪問到我們的私有代碼倉(cāng)庫(kù),所以報(bào)錯(cuò) 404。而且,就算使用上文提到的ssh鑒權(quán)也不行。

Go 1.13 后可以設(shè)置GONOPROXY這個(gè)環(huán)境變量來指定不使用代理的域名,支持逗號(hào)分隔多個(gè)值。

GONOSUMDB

go mod 需要對(duì)下載后的依賴包進(jìn)行 checksum 校驗(yàn),當(dāng)你的 git 倉(cāng)庫(kù)是開放的話沒問題,但是如果是不可訪問的私有倉(cāng)庫(kù),甚至在公司內(nèi)網(wǎng)。很可能出現(xiàn)校驗(yàn)失敗的錯(cuò)誤:

get"your.gitlab.com/pkg/example":foundmetatagget.metaImport{Prefix:"your.gitlab.com/pkg/example",VCS:"git",RepoRoot:"https://your.gitlab.com/pkg/example.git"}at//your.gitlab.com/pkg/example?go-get=1
verifyingyour.gitlab.com/pkg/example@v0.0.0:your.gitlab.com/pkg/example@v0.0.0:readinghttps://sum.golang.org/lookup/your.gitlab.com/pkg/example@v0.0.0:410Gone

和代理一樣,我們的私有倉(cāng)庫(kù)對(duì) sum.golang.org 是不可見的,所以肯定沒辦法執(zhí)行安全校驗(yàn)。

同樣的在 Go 1.13 后可以設(shè)置GONOSUMDB環(huán)境變量指定跳過校驗(yàn)的的域名,支持逗號(hào)分割多個(gè)值。

GOPRIVATE

最后 Go 1.13 還引入的GOPRIVATE環(huán)境變量,可以說設(shè)置后一勞永逸,能自動(dòng)跳過 proxy server 和 校驗(yàn)檢查, 這個(gè)變量值也支持逗號(hào)分割,可以填寫多個(gè)值,如:

GOPRIVATE=*.corp.example.com,your.gitlab.com

當(dāng)然,設(shè)置GOPRIVATE之后,還可以在通過GONOPROXYGONOSUMDB來單獨(dú)進(jìn)行控制,

不過需要注意下GOPRIVATE失效的問題,

舉個(gè)例子,如果公司內(nèi)部有私有倉(cāng)庫(kù):your.corp.com,如果這樣設(shè)置:

GOPRIVATE=your.corp.com
GOPROXY=https://goproxy.cn
GONOPROXY=none

因?yàn)?code style="margin-right:2px;margin-left:2px;padding:2px 4px;font-size:14px;font-family:'Operator Mono', Consolas, Monaco, Menlo, monospace;color:rgb(233,105,0);background:rgb(248,248,248);">GONOPROXY的值是none,那么用戶還是會(huì)從GOPROXY的地址下載所有私有和共有的倉(cāng)庫(kù), 此時(shí)可能還是會(huì)報(bào)錯(cuò),GONOSUMDB同理,大家注意一下這個(gè)問題。

原文標(biāo)題:Go module 使用 Gitlab 私有倉(cāng)庫(kù)

文章出處:【微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 功能
    +關(guān)注

    關(guān)注

    3

    文章

    590

    瀏覽量

    30130
  • 管理
    +關(guān)注

    關(guān)注

    2

    文章

    388

    瀏覽量

    26995
  • 工具
    +關(guān)注

    關(guān)注

    4

    文章

    317

    瀏覽量

    28723

原文標(biāo)題:Go module 使用 Gitlab 私有倉(cāng)庫(kù)

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    《開關(guān)電源設(shè)計(jì)與調(diào)試》課程建設(shè)實(shí)踐與探索

    《開關(guān)電源設(shè)計(jì)與調(diào)試》課程建設(shè)實(shí)踐與探索,《開關(guān)電源設(shè)計(jì)與調(diào)試》課程建設(shè)實(shí)踐與探索
    發(fā)表于 06-15 23:36

    【新功能】企業(yè)級(jí)Maven私有倉(cāng)庫(kù)服務(wù)結(jié)束公測(cè),全面開放使用

    摘要: 目前云效上線了企業(yè)級(jí)Maven私有倉(cāng)庫(kù)服務(wù)。用戶可以一鍵開通Maven私有倉(cāng)庫(kù)服務(wù),零配置實(shí)現(xiàn)私有二方庫(kù)的上傳和下載。經(jīng)過半個(gè)月的公
    發(fā)表于 06-20 15:50

     華為云ServiceStage完美支持多個(gè)主流源碼托管倉(cāng)庫(kù)

    網(wǎng)站,或是以公司內(nèi)部搭建的GitLab托管倉(cāng)庫(kù),ServiceStage皆可輕松搞定。   至于Bitbucket,雖不及GitHub等平臺(tái)出眾,但其可創(chuàng)建免費(fèi)的私有倉(cāng)庫(kù),或許能俘獲部
    發(fā)表于 08-03 13:58

    Gitlab安裝及集成LDAP

    sshdsystemctl start sshd 安裝Gitlab-ce版本 我們使用云廠商的負(fù)載均衡器,所以這邊沒有配置https,如果需要配置https請(qǐng)查看HTTPS配置 # 添加倉(cāng)庫(kù)curl
    發(fā)表于 07-09 06:28

    基于Linux系統(tǒng)的私有鏡像倉(cāng)庫(kù)搭建

    【docker】基于Harbor搭建自己的私有鏡像倉(cāng)庫(kù)-全過程詳解
    發(fā)表于 09-19 08:59

    關(guān)于小流域防災(zāi)預(yù)警體系建設(shè)實(shí)踐與思考

    關(guān)于小流域防災(zāi)預(yù)警體系建設(shè)實(shí)踐與思考概述: 小流域是防臺(tái)減災(zāi)的薄弱環(huán)節(jié). 臨海小流域溪壩損毀占整個(gè)水利損失的一大部分, 成為整個(gè)防洪體系中的最薄弱
    發(fā)表于 04-21 16:16 ?20次下載

    GitHub宣布無限制的免費(fèi)為普通用戶提供私有倉(cāng)庫(kù)服務(wù)

    盡管私有倉(cāng)庫(kù)以后可以免費(fèi)創(chuàng)建,但服務(wù)還是有限的,免費(fèi)私有倉(cāng)庫(kù)最多只能添加三個(gè)協(xié)同操作者,而且免費(fèi)版服務(wù)沒有高級(jí)代碼審查工具。顯然,這不太適合大的商業(yè)項(xiàng)目,所以大團(tuán)體做項(xiàng)目管理還是需要付
    的頭像 發(fā)表于 01-10 10:32 ?3498次閱讀
    GitHub宣布無限制的免費(fèi)為普通用戶提供<b class='flag-5'>私有</b><b class='flag-5'>倉(cāng)庫(kù)</b>服務(wù)

    公共云與私有云的區(qū)別及應(yīng)用

    隨著云計(jì)算服務(wù)和實(shí)踐的成熟,也許是時(shí)候重新考慮一些長(zhǎng)期以來關(guān)于私有云和公共云模型的假設(shè)了。
    的頭像 發(fā)表于 02-18 17:22 ?3006次閱讀

    私有鏡像倉(cāng)庫(kù)Harbor極簡(jiǎn)搭建指南(HTTP版)

    本文簡(jiǎn)要介紹私有鏡像倉(cāng)庫(kù) Harbor 的搭建指南(HTTP 版),以及使用方法。搭建部分主要參考官網(wǎng)。本文基于以下版本:
    的頭像 發(fā)表于 05-05 14:41 ?2817次閱讀

    極狐GitLab—新一代源代碼管理倉(cāng)庫(kù)

    極狐GitLab是一款具有軟件開發(fā)全生命周期的DevOps能力的新一代源代碼管理倉(cāng)庫(kù),無縫集成代碼托管、敏捷管理、CI/CD,從需求管理到應(yīng)用上線能夠形成數(shù)據(jù)的完整串聯(lián)。極狐GitLab具有高可用可
    的頭像 發(fā)表于 11-29 15:40 ?1308次閱讀
    極狐<b class='flag-5'>GitLab</b>—新一代源代碼管理<b class='flag-5'>倉(cāng)庫(kù)</b>

    在KubeSphere 容器中快速部署使用 GitLab 并構(gòu)建 DevOps 項(xiàng)目

    我們先這次的演練創(chuàng)建一個(gè)名為devops的企業(yè)空間,同時(shí)創(chuàng)建一個(gè)名為gitlab的項(xiàng)目供GitLabCE部署使用。首先我們還是要先在devops企業(yè)空間中添加GitLab的官方HelmChart倉(cāng)庫(kù)
    的頭像 發(fā)表于 07-26 11:19 ?910次閱讀
    在KubeSphere 容器中快速部署使用 <b class='flag-5'>GitLab</b> 并構(gòu)建 DevOps 項(xiàng)目

    使用Nexus在本地搭建npm、yum和maven私有倉(cāng)庫(kù)

    使用Nexus在本地搭建npm、yum和maven私有倉(cāng)庫(kù) 為保證在無互聯(lián)網(wǎng)的情況下,可正常搭建、構(gòu)建項(xiàng)目,并自動(dòng)化部署項(xiàng)目,本系統(tǒng)采用Nexus+Jenkins+Maven+Gitlab開源組件
    的頭像 發(fā)表于 08-21 14:46 ?829次閱讀
    使用Nexus在本地搭建npm、yum和maven<b class='flag-5'>私有</b><b class='flag-5'>倉(cāng)庫(kù)</b>

    云服務(wù)器Flexus X實(shí)例,Docker集成搭建Gitea私有倉(cāng)庫(kù)

    Gitea 私有倉(cāng)庫(kù)是一款輕量級(jí)的自托管 Git 服務(wù),它提供了與 Github、Gitlab 等類似的功能,但允許用戶在自己的服務(wù)器上部署和運(yùn)行,從而完全掌控代碼的存儲(chǔ)和訪問權(quán)限。
    的頭像 發(fā)表于 12-29 15:51 ?696次閱讀
    云服務(wù)器Flexus X實(shí)例,Docker集成搭建Gitea<b class='flag-5'>私有</b><b class='flag-5'>倉(cāng)庫(kù)</b>

    華為云 Flexus X 實(shí)例:極速搭建個(gè)人代碼倉(cāng)庫(kù) GitLab 平臺(tái)

    實(shí)例使用場(chǎng)景 2 二、Flexus 云服務(wù)器 X 購(gòu)買 2 2.1 Flexus X 實(shí)例購(gòu)買 2 2.2?重置密碼 3 2.3?登錄服務(wù)器 4 三、Flexus X 實(shí)例安裝 GitLab5 3.1
    的頭像 發(fā)表于 01-23 18:29 ?694次閱讀
    華為云 Flexus X 實(shí)例:極速搭建個(gè)人代碼<b class='flag-5'>倉(cāng)庫(kù)</b> <b class='flag-5'>GitLab</b> 平臺(tái)

    Flexusx 實(shí)例與 Harbor 私有鏡像倉(cāng)庫(kù)的完美結(jié)合

    前言 華為云 828 企業(yè)上云節(jié),F(xiàn)lexus X 實(shí)例攜手 Harbor 私有鏡像倉(cāng)庫(kù),共創(chuàng)云上安全高效新生態(tài)!Flexus X 以其卓越性能與穩(wěn)定性,為 Harbor 提供了理想的運(yùn)行環(huán)境
    的頭像 發(fā)表于 01-22 18:04 ?630次閱讀
    Flexusx 實(shí)例與 Harbor <b class='flag-5'>私有</b>鏡像<b class='flag-5'>倉(cāng)庫(kù)</b>的完美結(jié)合