L'éditeur php Baicao a rencontré un problème lors du modding spice. Il a essayé d'opérer depuis l'entrepôt interne via ssh mais a échoué. Cette situation peut conduire au chaos dans l'entrepôt de code, affectant le processus de développement et la stabilité du projet. Avant de résoudre ce problème, nous devons comprendre la cause de l’échec et les solutions possibles pour garantir la santé de l’entrepôt de code. Ensuite, nous explorerons en détail comment résoudre ce problème.
Lorsque j'utilise un référentiel github interne, je ne peux pas go mod tidy
。 ssh 身份验证似乎可以单独工作(请参见下面的日志),但是 go mod tidy
il atteint le référentiel interne et lance
[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.
De mon action github
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
Connexion添加私钥
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.
Enregistrement安装依赖项
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.
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"
Qu'est-ce que j'ai raté ? Comment puis-je faire ceci?
Chaque étape s'exécute dans un processus distinct, de sorte que les opérations qui modifient l'environnement actuel au niveau du processus ne « survivront » pas à l'étape suivante.
Par exemple :
Vous devez réexécuter eval "$(ssh-agent -s)"
sur l'étape "Installer les dépendances" afin de configurer correctement l'environnement pour communiquer avec votre agent ssh.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!