Heim > Backend-Entwicklung > Golang > Mod Tidy aus dem internen Repository über SSH schlägt fehl

Mod Tidy aus dem internen Repository über SSH schlägt fehl

WBOY
Freigeben: 2024-02-10 15:30:10
nach vorne
1106 Leute haben es durchsucht

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

php-Editor Baicao ist beim Modden von Tidy auf ein Problem gestoßen. Er hat versucht, vom internen Lager aus über SSH zu arbeiten, ist jedoch fehlgeschlagen. Diese Situation kann zu Chaos im Code-Warehouse führen und den Entwicklungsprozess und die Projektstabilität beeinträchtigen. Bevor wir dieses Problem lösen, müssen wir die Fehlerursache und mögliche Lösungen verstehen, um den Zustand des Code-Warehouse sicherzustellen. Als nächstes werden wir im Detail untersuchen, wie dieses Problem gelöst werden kann.

Frageninhalt

Wenn ich ein internes Github-Repository verwende, kann ich nicht go mod tidy。 ssh 身份验证似乎可以单独工作(请参见下面的日志),但是 go mod tidy es trifft auf das interne Repository und wirft

[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.
Nach dem Login kopieren

Aus meiner Github-Aktion

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
Nach dem Login kopieren

Anmelden添加私钥

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.
Nach dem Login kopieren

Aufnahme安装依赖项

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.
Nach dem Login kopieren
Die Ausgabe von

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"
Nach dem Login kopieren

Was habe ich verpasst? Wie kann ich das machen?

Problemumgehung

Jeder Schritt wird in einem separaten Prozess ausgeführt, sodass Vorgänge, die die aktuelle prozessbezogene Umgebung ändern, nicht bis zum nächsten Schritt „überleben“.

Zum Beispiel:
Sie müssen eval "$(ssh-agent -s)" den Schritt „Abhängigkeiten installieren“ erneut ausführen, um die Umgebung für die Kommunikation mit Ihrem SSH-Agenten ordnungsgemäß einzurichten.

Das obige ist der detaillierte Inhalt vonMod Tidy aus dem internen Repository über SSH schlägt fehl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage