Drone.io |创建docker-compose设置

时间:2017-11-15 20:20:06

标签: github drone drone.io

我无法使用我的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。 当我从site

添加此文字时
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)我无法在我的项目中开始测试。也许我在设置过程中错过了一些东西。

2 个答案:

答案 0 :(得分:0)

  

$无人机服务器

     

$无人机代理

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

  

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

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

  

sql:未知驱动程序&#34; sqlite3&#34;

当您在禁用CGO的情况下编译无人机时,或者使用已禁用CGO编译的无人机版本时,会发生这种情况。如果禁用CGO,则不会将sqlite3驱动程序编译为二进制文件。你是想从源头建造无人机吗?

  

grpc:addrConn.resetTransport无法创建客户端传输

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

答案 1 :(得分: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>

这很好。