Не удается запустить дрон-CI с моим локальным сервером gitea, получая ошибку при аутентификации
Я хочу играть с дроном CI на моей локальной машине.
Я установил Gitea на моем Mac с помощью варева. Я могу войти в систему с root-логином http://0.0.0.0:3000/ и все работает
Затем я запускаю дрон-сервер так:
version: '2'
services:
drone-server:
image: drone/drone:0.8.1
ports:
- 8001:8000
volumes:
- /Users/aleksandr/ci/drone_gitea/data:/var/lib/drone/
restart: always
environment:
- DRONE_OPEN=true
- DRONE_HOST=0.0.0.0
- DRONE_GITEA=true
- DRONE_GITEA_URL=http://0.0.0.0:3000/
- DRONE_SECRET=123123
После этого я хочу авторизовать дрон с помощью gitea, поэтому я перехожу на 0.0.0.0:8001, вводя логин и пароль, но сервер дронов возвращает ошибку:
drone-server_1 | time="2017-10-07T10:11:50Z" level=error msg="cannot authenticate user. Post http://0.0.0.0:3000/api/v1/users/root/tokens: dial tcp 0.0.0.0:3000: getsockopt: connection refused"
1 ответ
Решение
Проблема в том, что 0.0.0.0
относится к внутренней контейнерной сети. Если gitea и дрон не работают в одной сети и в одном контейнере, это не будет работать.
Вместо этого вы должны предоставить дрону имя хоста Gitea (например, http://gitea.company.com/) или публичный IP-адрес Gitea.