0

我无法使用我的 GitHub 连接到 Drone.io。该应用程序有几个问题:

1) 无人机代理无法连接到服务器

dodge@comp:$drone agent    
28070:M 15 Nov 22:04:01.906 * connecting to server http://<my_ip>
28070:M 15 Nov 22:04:01.906 # connection failed, retry in 15s. websocket.Dial http://<my_ip>: bad scheme

2) 我无法将 Postgresql 添加到 docker-compose。当我从您的网站添加此文本时

DRONE_DATABASE_DRIVER: postgres
DRONE_DATABASE_DATASOURCE: postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable

我有这个错误

INFO: 2017/11/15 19:42:33 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 172.18.0.2:9000: getsockopt: connection refused"; Reconnecting to {drone-server:9000 <nil>}

3)当我在 docker-compose 中仅使用服务器和代理时,出现此错误

dodge@comp:$drone server

ERRO[0000] sql: unknown driver "sqlite3" (forgotten import?) 
FATA[0000] database connection failed 

码头工人-compose.yml

version: '2'
services:
  drone-server:
    image: drone/drone:0.8
    ports:
      - 80:8000
      - 9000
    volumes:
      - /var/lib/drone:/var/lib/drone/
      - ./drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_DEBUG=true
      - DRONE_OPEN=true
      - DRONE_HOST=http://172.18.0.2
      - DRONE_GITHUB=true
      - DRONE_GITHUB_CLIENT=secretid
      - DRONE_GITHUB_SECRET=secretpass
      - DRONE_SECRET=password

  drone-agent:
    image: drone/agent:0.8
    command: agent
    restart: always
    depends_on: [ drone-server ]
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=password

4) 我无法在我的项目中开始测试。也许我在设置过程中错过了一些东西。

4

2 回答 2

0

$ 无人机服务器

$ 无人机代理

我在您的示例中看到了上述命令。这些命令仅在无人机 0.7 及以下版本中可用。Drone 0.8 使用无人机服务器和无人机代理二进制文件。这里似乎有一些版本断开连接。

连接失败,请在 15 秒后重试。websocket.拨号

无人机 0.7 及以下使用 websockets。我在 docker-compose 示例中看到您正在使用使用 http2 和 grpc 的无人机 0.8。您的配置与您使用的无人机版本似乎存在脱节。

sql:未知驱动程序“sqlite3”

当您在禁用 CGO 的情况下编译无人机或使用已禁用 CGO 编译的无人机版本时,会发生这种情况。如果禁用 CGO,则 sqlite3 驱动程序不会编译成二进制文件。您是否正在尝试从源头构建无人机?

grpc:addrConn.resetTransport 创建客户端传输失败

此错误来自代理,因此与 postgres 配置无关。您不应该为您的代理提供 postgres 配置,而应该只提供服务器。

于 2017-11-15T21:09:17.843 回答
0
version: '2'

services:
  drone-server:
    image: drone/drone:latest
    ports:
      - 80:8000
      - 9000:9000
    volumes:
      - /var/lib/drone:/var/lib/drone/
      - ./drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_DEBUG=true
      - DRONE_HOST=http://<container_ip_server>
      - DRONE_OPEN=true
      - DRONE_GITHUB=true
      - DRONE_GITHUB_CLIENT=<client_git>
      - DRONE_GITHUB_SECRET=<secret_git>
      - DRONE_SECRET=<secret_drone>
      - DRONE_GITHUB_MERGE_REF=true 

  drone-agent:
    image: drone/agent:latest
    command: agent
    restart: always
    depends_on: [ drone-server ]
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=<drone_secret>

这工作正常。

于 2017-11-17T09:05:42.493 回答