亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 SSH 密鑰在 Jenkins 中構建 Go 項目,并在私有 BitBucket

使用 SSH 密鑰在 Jenkins 中構建 Go 項目,并在私有 BitBucket

Go
慕沐林林 2022-09-05 15:33:35
我正在嘗試為Go項目設置自動構建。但是,我們在私有BitBucket上有一些內部依賴項。但是,需要憑據才能訪問這些憑據。我能夠使用選項Git和SSH讀取主存儲庫,但我能夠從BitBucket下載依賴項。我已經嘗試過:git config --global url."[email protected]:".insteadOf "https://bitbucket.org/"export 'GOPRIVATE=bitbucket.org/*'然而,這似乎不起作用,因為輸出:+ go version22:33:27 go version go1.16.4 darwin/arm64+ go test22:33:29 go: missing Mercurial command. See https://golang.org/s/gogetcmd22:33:30 go: bitbucket.org/repositorie_url: reading https://api.bitbucket.org/2.0/repositorie_url/dependency_repo 403 Forbidden22:33:30    server response: Access denied. You must have write or admin access.我如何確保去獲取或去安裝以安全的方式訪問我們的私有存儲庫?注意:去測試sems忽略git配置,它試圖從https訪問依賴項,此外,我還有一些Mercurial錯誤。
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

你好,我終于發現了錯誤,問題是:環境$PATH!接縫計算機具有與 jenkins 的默認路徑不同的路徑。如果要使用本地計算機的某個環境,則應在環境中添加一個新的變量$PATH,在本地cmd中打印$PATH并比較jenkinsfile上$PATH


jenkinsfile 中的解決方案:


pipeline {

    agent {

        label 'macmini'

    }

    environment {

        PATH = "$HOME/go/bin:" +

                    "/usr/local/bin:/Library/Apple/usr/bin" +

                    "$PATH"...

    }

}

安慰:


echo $PATH


# overrite $PATH enviroment

$PATH = "$HOME/go/bin:" +

                    "$HOME/go/bin:" +

                    "/usr/local/bin:/Library/Apple/usr/bin" +

                    "$PATH"...


查看完整回答
反對 回復 2022-09-05
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

Go 私有依賴項的解決起來有點復雜。請嘗試在執行此操作之前下載依賴項或其他任何操作。我可以提出2種解決方案,請嘗試讓我知道哪一個適合您:go test


1. 使用 ssh 密鑰

當您有一個可以訪問私有存儲庫的 ssh 密鑰時,請嘗試此操作(假設 ssh 被存儲并恢復為帶有名稱的 env var):BITBUCKET_SSH_KEY


mkdir -p ~/.ssh

echo "$BITBUCKET_SSH_KEY" > ~/.ssh/id_rsa

chmod 600 ~/.ssh/id_rsa

ssh-keygen -F bitbucket.org || ssh-keyscan bitbucket.org >>~/.ssh/known_hosts

git config --global url."[email protected]:".insteadOf "https://bitbucket.org/"

go env -w GOPRIVATE=bitbucket.org

go mod download

2. 使用 .netrc

您可以從 bitbucket 生成登錄令牌。使用此令牌,有兩個 env var,然后嘗試以下操作:BITBUCKET_LOGINBITBUCKET_TOKEN


go env -w GOPRIVATE=bitbucket.org

echo "machine bitbucket.org login ${BITBUCKET_LOGIN} password ${BITBUCKET_TOKEN}" > ~/.netrc

go mod download


查看完整回答
反對 回復 2022-09-05
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號