I'm running on a machine in docker-compose the following:
- gitlab
- drone (server)
- drone (agent)
and when I trigger a build (or triggered by git push), drone keeps on failing on the issue:
git init
Initialized empty Git repository in /drone/src/.git/
git remote add origin http://my-git/amaziagur/location-service.git
git fetch --no-tags origin +refs/heads/master:
fatal: unable to access 'http://my-git/amaziagur/location-service.git/': Couldn't resolve host 'my-git'
exit status 128
here is the docker-compose.yml:
version: '2'
services:
#PROXY
gitlab:
image: 'gitlab/gitlab-ce:9.1.0-ce.0'
restart: always
hostname: 'my-git'
links:
- postgresql:postgresql
- redis:redis
environment:
GITLAB_OMNIBUS_CONFIG: |
postgresql['enable'] = false
gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = "gitlab"
gitlab_rails['db_host'] = "postgresql"
gitlab_rails['db_port'] = "5432"
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
redis['enable'] = false
gitlab_rails['redis_host'] = 'redis'
gitlab_rails['redis_port'] = '6379'
external_url 'http://my-git'
gitlab_rails['gitlab_shell_ssh_port'] = 30022
ports:
# both ports must match the port from external_url above
- "80:80"
# the mapped port must match ssh_port specified above.
- "30022:22"
# the following are hints on what volumes to mount if you want to persist data
volumes:
- /data/gitlab/config:/etc/gitlab:rw
- /data/gitlab/logs:/var/log/gitlab:rw
- /data/gitlab/data:/var/opt/gitlab:rw
postgresql:
restart: always
image: postgres:9.6.2-alpine
environment:
- POSTGRES_USER=gitlab
- POSTGRES_PASSWORD=gitlab
- POSTGRES_DB=gitlabhq_production
# the following are hints on what volumes to mount if you want to persist data
volumes:
- /home/foresight/postgresql:/var/lib/postgresql:rw
redis:
restart: always
image: redis:3.0.7-alpine
# DRONE
drone-server:
image: drone/drone:0.7.3
ports:
- "8000:8000"
networks:
- drone
- gitlab
links:
- gitlab
volumes:
- /home/drone:/var/lib/drone/
environment:
#@@@@@
DRONE_OPEN: "true"
DRONE_HOST: "http://10.0.0.200:8000"
DRONE_ADMIN: amaziagur
DRONE_GITLAB: "true"
DRONE_GITLAB_URL: "http://10.0.0.200"
DRONE_GITLAB_CLIENT: "secret"
DRONE_GITLAB_SECRET: "secret"
DRONE_SECRET: "my_secret"
#@@@@@@@
drone-agent:
image: drone/drone:0.7.3
command: agent
depends_on:
- drone-server
networks:
- drone
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
DRONE_SERVER: ws://drone-server:8000/ws/broker
DRONE_DEBUG: "true"
DRONE_SECRET: "our_secret_4ever_and_ever"
networks:
drone:
driver: bridge
gitlab:
driver: bridge
Both are installed on the same machine, and I can't figure out what I'm doing wrong, what is the reason that the drone keeps not recognizing the git host.
I already added the mapping in my local /etc/hosts and on /etc/resolve.conf tips that I found around the web. Can someone help?
Brad Rydzewski's comment got me on the right track. He said:
This was precisely correct. Here is the final configuration that worked for me: