我想使用drone.io和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
泊坞窗实例)
我可以使用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
"部分,username
,netrc.username
,...),我也是尝试使用环境变量,没有工作,我无法对克隆存储库进行drone
身份验证。
有什么想法吗?
答案 0 :(得分:1)
这就是问题,我和gogs有类似的问题,因为某些原因.netrc文件与用于克隆的url不匹配。
请尝试使用您在浏览器中访问Gogs的完整网址,而不是Docker网络中的内部主机名
DRONE_GOGS_URL=http://myurl.to.gogs.com:3000
DRONE_GOGS_URL=http://some-ip-address:3000