"致命:无法读取' https:// XXX'的用户名:没有此类设备或地址"与drone.io和Gogs

时间:2017-09-08 16:00:57

标签: git drone.io gogs

我想使用drone.iogogs,以便在我的环境中拥有一些CI功能。

drone.iohttp://docs.drone.io/)的文档不是最新的,我必须花很多钱才能启动它。

我的docker-compose.yml文件如下:

version: '3'

services:

  drone-server:
    image: drone/drone:latest
    network_mode: "bridge"
    volumes:
      - "/docker/drone:/var/lib/drone/"
    environment:
      - "DRONE_OPEN=true"
      - "DRONE_HOST=XXX"
      - "DRONE_SECRET=XXX"
      - "DRONE_GOGS=true"
      - "DRONE_GOGS_URL=http://gogs:3000"
      - "DRONE_GOGS_GIT_USERNAME=XXX"
      - "DRONE_GOGS_GIT_PASSWORD=XXX"
      - "DRONE_GOGS_PRIVATE_MODE=true"
    external_links:
      - "dedigogs_gogs_1:gogs"

  drone-agent:
    image: drone/agent:latest
    network_mode: "bridge"
    depends_on:
      - drone-server
    links:
      - drone-server
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      - "DRONE_SERVER=drone-server:9000"
      - "DRONE_HOST=XXX"
      - "DRONE_SECRET=XXX"
      - "DRONE_GOGS=true"
      - "DRONE_GOGS_URL=http://gogs:3000"
      - "DRONE_GOGS_GIT_USERNAME=XXX"
      - "DRONE_GOGS_GIT_PASSWORD=XXX"
      - "DRONE_GOGS_PRIVATE_MODE=true"
    external_links:
      - "dedigogs_gogs_1:gogs"

dedigogs_gogs_1是我的gogs泊坞窗实例)

我可以使用drone凭据连接到gogs

我可以看到我的所有私人存储库,并为drone.io启用它们。

但是,在构建提交时,代理(我认为)无法克隆存储库:

+ git init
Initialized empty Git repository in /drone/src/XXX/XXX/XXX/.git/
+ git remote add origin https://XXX/XXX/XXX.git
+ git fetch --no-tags origin +refs/heads/master:
fatal: could not read Username for 'https://XXX': No such device or address
exit status 128

我尝试使用.drone.yml(添加" clone"部分,usernamenetrc.username,...),我也是尝试使用环境变量,没有工作,我无法对克隆存储库进行drone身份验证。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这就是问题,我和gogs有类似的问题,因为某些原因.netrc文件与用于克隆的url不匹配。

请尝试使用您在浏览器中访问Gogs的完整网址,而不是Docker网络中的内部主机名

DRONE_GOGS_URL=http://myurl.to.gogs.com:3000
DRONE_GOGS_URL=http://some-ip-address:3000