我无法使用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
docker-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) 我无法在我的项目中启动测试。也许我在设置过程中错过了什么。
$drone服务器
$无人机代理
我在您的示例中看到了上述命令。这些命令仅在无人机0.7及以下版本中可用。Drone 0.8使用无人机服务器和无人机代理二进制文件。这里似乎有一些版本断开连接。
连接失败,15秒后重试。websocket。拨号
drone 0.7及以下版本使用了websocket。我在docker compose示例中看到,您使用的是drone 0.8,它使用http2和grpc。与您使用的无人机版本相比,您的配置似乎存在脱节。
sql:未知驱动程序"sqlite3";
当您在禁用CGO的情况下编译drone,或使用已在禁用CGO的情况下编辑的drone版本时,会发生这种情况。如果CGO被禁用,则sqlite3驱动程序不会编译为二进制文件。你想从源头上制造无人机吗?
grpc:addrConn.resetTransport无法创建客户端传输
此错误来自代理,因此与postgres配置无关。您不应该向代理提供postgres配置,而应该只提供服务器。
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>
这很好用。