色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于Gitlab私有倉庫建設的實踐

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

掃碼添加小助手

加入工程師交流群

本文介紹了 Gitlab 私有倉庫建設的實踐。

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

go get

如果在沒有進行任何設置的情況下直接執行go get your.gitlab.com/pkg/example,你很可能會遇到以下錯誤:

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.

其實錯誤提示已經把解決方案給到我們了,我們只需要點擊 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

當然也可以使用 ssh,需要修改你的 git 配置,

修改當前用戶的~/.gitconfig,添加:

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

另外執行下面的命令也能達到同樣的效果:

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

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

GONOPROXY

眾所周知,國內用戶大多設置代理,我們在 Go 1.12 之前如果使用GOPROXY這個環境變量設置代理,并使用私有倉庫,很有可能會遇到下面的錯誤:

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

這是因為代理服務不可能訪問到我們的私有代碼倉庫,所以報錯 404。而且,就算使用上文提到的ssh鑒權也不行。

Go 1.13 后可以設置GONOPROXY這個環境變量來指定不使用代理的域名,支持逗號分隔多個值。

GONOSUMDB

go mod 需要對下載后的依賴包進行 checksum 校驗,當你的 git 倉庫是開放的話沒問題,但是如果是不可訪問的私有倉庫,甚至在公司內網。很可能出現校驗失敗的錯誤:

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

和代理一樣,我們的私有倉庫對 sum.golang.org 是不可見的,所以肯定沒辦法執行安全校驗。

同樣的在 Go 1.13 后可以設置GONOSUMDB環境變量指定跳過校驗的的域名,支持逗號分割多個值。

GOPRIVATE

最后 Go 1.13 還引入的GOPRIVATE環境變量,可以說設置后一勞永逸,能自動跳過 proxy server 和 校驗檢查, 這個變量值也支持逗號分割,可以填寫多個值,如:

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

當然,設置GOPRIVATE之后,還可以在通過GONOPROXYGONOSUMDB來單獨進行控制,

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

舉個例子,如果公司內部有私有倉庫:your.corp.com,如果這樣設置:

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

因為GONOPROXY的值是none,那么用戶還是會從GOPROXY的地址下載所有私有和共有的倉庫, 此時可能還是會報錯,GONOSUMDB同理,大家注意一下這個問題。

原文標題:Go module 使用 Gitlab 私有倉庫

文章出處:【微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 功能
    +關注

    關注

    3

    文章

    589

    瀏覽量

    29762
  • 管理
    +關注

    關注

    2

    文章

    387

    瀏覽量

    26701
  • 工具
    +關注

    關注

    4

    文章

    315

    瀏覽量

    28272

原文標題:Go module 使用 Gitlab 私有倉庫

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    《開關電源設計與調試》課程建設實踐與探索

    《開關電源設計與調試》課程建設實踐與探索,《開關電源設計與調試》課程建設實踐與探索
    發表于 06-15 23:36

    【新功能】企業級Maven私有倉庫服務結束公測,全面開放使用

    摘要: 目前云效上線了企業級Maven私有倉庫服務。用戶可以一鍵開通Maven私有倉庫服務,零配置實現私有二方庫的上傳和下載。經過半個月的公
    發表于 06-20 15:50

     華為云ServiceStage完美支持多個主流源碼托管倉庫

    網站,或是以公司內部搭建的GitLab托管倉庫,ServiceStage皆可輕松搞定。   至于Bitbucket,雖不及GitHub等平臺出眾,但其可創建免費的私有倉庫,或許能俘獲部
    發表于 08-03 13:58

    Gitlab安裝及集成LDAP

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

    基于Linux系統的私有鏡像倉庫搭建

    【docker】基于Harbor搭建自己的私有鏡像倉庫-全過程詳解
    發表于 09-19 08:59

    關于小流域防災預警體系建設實踐與思考

    關于小流域防災預警體系建設實踐與思考概述: 小流域是防臺減災的薄弱環節. 臨海小流域溪壩損毀占整個水利損失的一大部分, 成為整個防洪體系中的最薄弱
    發表于 04-21 16:16 ?20次下載

    GitHub宣布無限制的免費為普通用戶提供私有倉庫服務

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

    公共云與私有云的區別及應用

    隨著云計算服務和實踐的成熟,也許是時候重新考慮一些長期以來關于私有云和公共云模型的假設了。
    的頭像 發表于 02-18 17:22 ?2821次閱讀

    私有鏡像倉庫Harbor極簡搭建指南(HTTP版)

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

    極狐GitLab—新一代源代碼管理倉庫

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

    在KubeSphere 容器中快速部署使用 GitLab 并構建 DevOps 項目

    我們先這次的演練創建一個名為devops的企業空間,同時創建一個名為gitlab的項目供GitLabCE部署使用。首先我們還是要先在devops企業空間中添加GitLab的官方HelmChart倉庫
    的頭像 發表于 07-26 11:19 ?659次閱讀
    在KubeSphere 容器中快速部署使用 <b class='flag-5'>GitLab</b> 并構建 DevOps 項目

    使用Nexus在本地搭建npm、yum和maven私有倉庫

    使用Nexus在本地搭建npm、yum和maven私有倉庫 為保證在無互聯網的情況下,可正常搭建、構建項目,并自動化部署項目,本系統采用Nexus+Jenkins+Maven+Gitlab開源組件
    的頭像 發表于 08-21 14:46 ?599次閱讀
    使用Nexus在本地搭建npm、yum和maven<b class='flag-5'>私有</b><b class='flag-5'>倉庫</b>

    云服務器Flexus X實例,Docker集成搭建Gitea私有倉庫

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

    華為云 Flexus X 實例:極速搭建個人代碼倉庫 GitLab 平臺

    實例使用場景 2 二、Flexus 云服務器 X 購買 2 2.1 Flexus X 實例購買 2 2.2?重置密碼 3 2.3?登錄服務器 4 三、Flexus X 實例安裝 GitLab5 3.1
    的頭像 發表于 01-23 18:29 ?382次閱讀
    華為云 Flexus X 實例:極速搭建個人代碼<b class='flag-5'>倉庫</b> <b class='flag-5'>GitLab</b> 平臺

    Flexusx 實例與 Harbor 私有鏡像倉庫的完美結合

    前言 華為云 828 企業上云節,Flexus X 實例攜手 Harbor 私有鏡像倉庫,共創云上安全高效新生態!Flexus X 以其卓越性能與穩定性,為 Harbor 提供了理想的運行環境
    的頭像 發表于 01-22 18:04 ?342次閱讀
    Flexusx 實例與 Harbor <b class='flag-5'>私有</b>鏡像<b class='flag-5'>倉庫</b>的完美結合
    主站蜘蛛池模板: 私密按摩师在线观看 百度网盘 | 日本丝袜护士 | 亚洲乱码在线卡一卡二卡新区 | 久久99久久成人免费播放 | 久久影院午夜理论片无码 | 国产精品无码AV天天爽色欲 | 受坐在攻腿上H道具PLAY | 国产超碰AV人人做人人爽 | 乱奷XXXXXHD| 神马午夜不卡片 | 亚洲久热无码中文字幕 | 老师破女学生特级毛片 | 3d无遮挡h肉动漫在线播放 | 久久久免费热线精品频 | 国产精品无码亚洲网 | 亚洲乱码AV久久久久久久 | 国产精品亚洲专区在线播放 | 成人 迅雷下载 | 亚洲精品成人a | 中文在线观看免费网站 | 好大的太粗好深BL | 手机在线亚洲日韩国产 | 一边摸一边桶一边脱免费 | 成人国产亚洲精品A区天堂蜜臀 | 97精品一区二区视频在线观看 | 九九夜夜妹子 | 宅男午夜大片又黄又爽大片 | 一级做a爰片久久毛片潮喷动漫 | 久久理论片迅播影院一级 | 乌克兰粉嫩摘花第一次 | 双腿被绑成M型调教PLAY照片 | 麻豆精品一卡2卡三卡4卡免费观看 | 久久全国免费久久青青小草 | 国产嫩草在线观看 | 国产精品99亚发布 | 免费毛片在线视频 | 久久亚洲精品中文字幕 | 亚洲激情一区 | 99久久精品费精品蜜臀AV | 很黄很色60分钟在线观看 | 日韩亚洲不卡在线视频 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品