Rumah > pembangunan bahagian belakang > Golang > mod kemas dari repositori dalaman melalui ssh gagal

mod kemas dari repositori dalaman melalui ssh gagal

WBOY
Lepaskan: 2024-02-10 15:30:10
ke hadapan
1106 orang telah melayarinya

通过 ssh 从内部仓库进行 mod tidy 失败

editor php Baicao menghadapi masalah apabila mengubah suai kemas Dia cuba beroperasi dari gudang dalaman melalui ssh tetapi gagal. Keadaan ini boleh menyebabkan huru-hara dalam gudang kod, menjejaskan proses pembangunan dan kestabilan projek. Sebelum menyelesaikan masalah ini, kita perlu memahami punca kegagalan dan kemungkinan penyelesaian untuk memastikan kesihatan gudang kod. Seterusnya, kami akan meneroka secara terperinci bagaimana untuk menyelesaikan masalah ini.

Kandungan soalan

Apabila menggunakan repositori github dalaman, saya tidak boleh go mod tidy。 ssh 身份验证似乎可以单独工作(请参见下面的日志),但是 go mod tidy ia terkena repositori dalaman dan membuang

[email protected]: permission denied (publickey).
fatal: could not read from remote repository.
please make sure you have the correct access rights and the repository exists.
Salin selepas log masuk

Daripada tindakan github saya

steps:
            # checks-out the repository under $github_workspace, so the job can access it
            - uses: actions/checkout@v3

            # set up go
            - name: set up go
              uses: actions/setup-go@v4
              with:
                  go-version: 1.20.2
                  cache: false

            - name: add private key to ssh agent
              env:
                private_key: ${{ secrets.shared_deploy_private_key }}
              run: |
                echo "${{ env.private_key }}" > key.pem
                chmod 600 key.pem
                eval "$(ssh-agent -s)"
                ssh-add key.pem
                ssh-add -l -e sha256
                ssh -t [email protected] 2>&1 || true    ### tests ssh auth

            # install dependencies
            - name: install dependencies
              run: |
                  git config --global url."[email protected]:".insteadof "https://github.com/"
                  go clean -modcache  
                  go env -w goprivate=github.com/my-org/*
                  go env -w gonoproxy=github.com/my-org/*
                  go env
                  go mod tidy
Salin selepas log masuk

Log masuk添加私钥

agent pid 1766
identity added: key.pem (_redacted_)
3072 sha256:_redacted_ _redacted_ (rsa)
hi my-org/observability-go! you've successfully authenticated, but github does not provide shell access.
Salin selepas log masuk

Rekod安装依赖项

go: downloading github.com/pmezard/go-difflib v1.0.0
go: downloading github.com/mattn/go-isatty v0.0.17
go: downloading golang.org/x/sync v0.1.0
github.com/my-org/clan-service/cmd/clanservice imports
    github.com/my-org/observability-go/logging: github.com/my-org/[email protected]: invalid version: git ls-remote -q origin in /home/runner/go/pkg/mod/cache/vcs/d0c7f50097d6054d27fc7949420737cdb6036d1246584bb05f13c6fe75577be2: exit status 128:
    [email protected]: permission denied (publickey).
    fatal: could not read from remote repository.
    please make sure you have the correct access rights
    and the repository exists.
Salin selepas log masuk
Keluaran

go env

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/runner/.cache/go-build"
GOENV="/home/runner/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/runner/go/pkg/mod"
GONOPROXY="github.com/my-org/*"
GONOSUMDB="github.com/my-org/*"
GOOS="linux"
GOPATH="/home/runner/go"
GOPRIVATE="github.com/my-org/*"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/opt/hostedtoolcache/go/1.20.2/x64"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/opt/hostedtoolcache/go/1.20.2/x64/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.2"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/runner/work/clan-service/clan-service/go.mod"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build4021260014=/tmp/go-build -gno-record-gcc-switches"
Salin selepas log masuk

Apa yang saya terlepas? Bagaimana saya boleh melakukan ini?

Penyelesaian

Setiap langkah berjalan dalam proses yang berasingan, jadi operasi yang mengubah suai persekitaran skop proses semasa tidak akan "bertahan" ke langkah seterusnya.

Contohnya:
Anda perlu menjalankan semula eval "$(ssh-agent -s)" pada langkah "Pasang kebergantungan" untuk menyediakan persekitaran dengan betul untuk berkomunikasi dengan ejen ssh anda.

Atas ialah kandungan terperinci mod kemas dari repositori dalaman melalui ssh gagal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan