为什么Drone无法读取我的用户名?

时间:2015-06-30 16:56:21

标签: git continuous-integration drone gogs

我正在设置一个与自托管Gogs服务器集成的自托管Drone CI服务器。

我已经设置了一个具有以下结构的测试存储库:

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

Drone是使用以下环境变量启动的(由-e标志docker run传递,因为Drone和Gogs都在运行容器化。)

"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文件中指定凭据?

2 个答案:

答案 0 :(得分:1)

检查你的Git版本。该错误消息见于Gogs issue 717

  

可能是因为git 1.7的错误消息格式不同。

     

您是否可以尝试在没有用户名或密码的情况下在命令行中克隆,以查看是否收到了与git clone: fatal: could not read Username for 'http://xxxx.xxx': No such device or address相同的错误消息?

答案 1 :(得分:1)

存储库必须是公开的:https://github.com/drone/drone/issues/860