我正在设置一个自托管的Drone CI服务器,该服务器与自托管的Gogs服务器集成。
我已经建立了一个具有以下结构的测试存储库:
test/
|
*- add.go
*- add_test.go
*- .drone.yml
我的.drone.yml
文件的内容如下:
image: mischief/docker-golang
env:
- GOPATH=/var/cache/drone
script:
- go build
- go test -v
无人机是用以下环境变量启动的(传递docker run
的-e
标志,因为无人机和Gog都是容器化运行的)。
"DRONE_GOGS_SKIP_VERIFY=true"
"DRONE_GOGS_URL=http://gogs.sentimens.duckdns.org"
"DRONE_GOGS_SECRET=[redacted]"
"DRONE_GOGS_OPEN=true"
当推送到新的存储库时,会触发构建,但会失败,输出如下:
$ git clone --depth=50 --recursive --branch=master http://gogs.sentimens.duckdns.org/drone/test.git /var/cache/drone/src/gogs.sentimens.duckdns.org/drone/test
Cloning into '/var/cache/drone/src/gogs.sentimens.duckdns.org/drone/test'...
fatal: could not read Username for 'http://gogs.sentimens.duckdns.org': No such device or address
这是怎么回事?我需要在yaml文件中指定凭据吗?
存储库必须是公共的:https://github.com/drone/drone/issues/860
检查您的Git版本。这条错误信息出现在Gogs的717号中
可能是因为git 1.7的错误消息格式不同。
你能在没有用户名或密码的情况下尝试在命令行中克隆吗?看看你是否收到了类似
git clone: fatal: could not read Username for 'http://xxxx.xxx': No such device or address
的错误消息?