I want to use drone.io and gogs in order to have some CI features in my environment.
The documentation of drone.io (http://docs.drone.io/) is not up-to-date, and I had to dig a lot in order to launch it.
My docker-compose.yml
file is the following:
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
being my gogs
docker instance)
I can connect to drone
using my gogs
credentials.
I can see all my private repositories, and enable them for drone.io
.
However, when building a commit, the agent (I think) cannot clone the repository:
+ 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
I tried playing with the .drone.yml
(adding "clone
" section, with username
, netrc.username
, ...), I also tried playing with environment variable, nothings work, I can't make drone
authenticate for cloning repository.
Any idea ?