Hi I successfully installed drone and integrated it with my self hosted gitea.
When a commit is pushed, drone give me an error
Initialized empty Git repository in /drone/src/.git/
+ git fetch origin +refs/heads/master:
fatal: unable to access 'http://localhost:3000/josh/go-ci-cd-hw.git/': Failed to connect to localhost port 3000: Connection refused
I used apk to install ssh client to setup a tunnel. I can verify the tunnel work and I can use git to clone the code to the docker.
localhost:3000 refers to the network inside the clone container, so this error is expected. You need to use the IP address of your Gitea instance or a hostname. Keep in mind that Drone creates a user-defined network for its pipelines. It does not use the default bridge network.
In my compose file I use a defined network in bridge mode. I tested: ‘ping’ from drone-server and drone-agent, both see each other. So I believe it’s a buggy behavior on agents. Which ENV variable answers to git-server from an agent? If a drone-server sees git-server already, webhooks, authorize, everything?
DRONE_RUNNER_NETWORKS=ci.net (declared in server and agent)
Output: docker exec -it drone-agent sh -c “ping drone-server”
PING drone-server (192.168.202.4): 56 data bytes
64 bytes from 192.168.202.4: seq=0 ttl=64 time=0.041 ms
64 bytes from 192.168.202.4: seq=1 ttl=64 time=0.088 ms
docker exec -it drone-server sh -c “ping drone-agent”
PING drone-agent (192.168.202.5): 56 data bytes
64 bytes from 192.168.202.5: seq=0 ttl=64 time=0.043 ms
64 bytes from 192.168.202.5: seq=1 ttl=64 time=0.173 ms
64 bytes from 192.168.202.5: seq=2 ttl=64 time=0.079 ms
docker exec -it drone-agent sh -c “ping git-server”
PING git-server (192.168.202.3): 56 data bytes
64 bytes from 192.168.202.3: seq=0 ttl=64 time=0.074 ms
64 bytes from 192.168.202.3: seq=1 ttl=64 time=0.139 ms
64 bytes from 192.168.202.3: seq=2 ttl=64 time=0.140 ms
Is it a restriction on community edition. I read there is a ENV variable for ENTERPRISE edition that solves this?
Why using an external network if containers see each other internally and resolve names?
If drone-server contains:
Why does the agent not finds it correctly, even when drone-server sees git-server?
Many thanks on your response. Indeed, set ROOT_URL in Gitea and everything is well.
ROOT_URL set in /data/gitea/conf/app.ini worked for me.
Mapped as a volume from outside the container. Setting it from docker-compose didn’t work (as ENV variable, seems like gitea ovewrites ENV with app.ini data).