"fatal: could not read Username for 'https://XXX': No such device or address" 与 drone.io 和 Gogs

"fatal: could not read Username for 'https://XXX': No such device or address" with drone.io and Gogs

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

drone.io (http://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 docker 实例)

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

我可以看到我所有的私有存储库,并为 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 身份验证。

有什么想法吗?

事情是这样的,我在 gogs 上遇到过类似的问题,出于某种原因,.netrc 文件与用于克隆的 url 不匹配。

尝试使用完整的 url 在浏览器中访问 Gogs 而不是 docker 网络中的内部主机名

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