我试图在CircleCI上使用GitHub上的Go项目和Go项目的默认模板。
作为参考,下面是默认.circleci/config.yml
的样子:
version: 2
jobs:
build:
docker:
- image: circleci/golang:1.12.7-buster
working_directory: /go/src/github.com/Permaweb/Host
steps:
- checkout
- run: go get -t -u -v ./...
- run: go test -v ./...
当作业运行时,我会得到一个与代码本身完全无关的错误。
代理密钥RSA SHA256:L1iUIhjfKejEONe0TFU3TaWkNwE2O0xWF/09K7P8WnA返回不正确的签名类型,当前分支没有跟踪信息。请指定要与哪个分支合并。详情见git-拉(1)。如果您希望设置此分支的跟踪信息,可以使用以下方法: git分支-上游
此错误发生在与git pull
不同的分支上的CircleCI上的master
上。
我怎么才能解决这个问题?
发布于 2019-07-27 19:24:36
这里有两个问题,它们是分开的和独立的。
“代理密钥返回不正确的签名类型”警告意味着正在使用的SSH代理返回无效数据。
使用RSA SSH密钥时,可以使用以下几种哈希算法之一进行签名: SHA-1、SHA-256或SHA-512。最初,只支持SHA-1,所以每次使用RSA密钥都意味着您使用的是SHA-1。然而,SHA-1是弱的,因此添加了额外的、更强的哈希算法.
此消息意味着SSH连接使用具有不同签名算法( SHA-256或SHA-512 )的RSA密钥协商连接。但是,当被要求为该连接签名时,SSH代理提供了一个SHA-1签名,该签名不符合代理协议。
这条消息本质上并不致命,尽管如果远程端不支持SHA-1签名,它可能会拒绝您的连接。
您正在看到的另一条消息,即来自Git的消息,意味着您正在尝试执行一个git pull
命令,而没有设置该分支的远程。在本例中,这是因为在现有存储库上使用go get
,因为该命令将尝试更新现有存储库。
如果您只想安装依赖项,那么运行go build
通常会为您自动完成这一任务,因此不需要专门为此目的运行go get
。如果您需要更复杂的东西,那么您应该使用Git本身,因为go get
不是设计用来在复杂情况下使用的。
https://stackoverflow.com/questions/57223333
复制