Я изучаю технологии CI, поэтому решил установить Drone с Gitlab локально, используя Docker compose. Вот docker-compose.yml:
version: "2"
services:
example_gitlab:
image: gitlab/gitlab-ce:latest
volumes:
- ./new-gitlab/srv/gitlab/config:/etc/gitlab
- ./new-gitlab/srv/gitlab/logs:/var/log/gitlab
- ./new-gitlab/srv/gitlab/data:/var/opt/gitlab
ports:
- "4443:443"
- "8000:80"
- "2222:22"
example_drone:
build: ./drone
volumes:
- /var/lib/drone/
- /var/run/docker.sock:/var/run/docker.sock
- ./drone/sqlite/drone.sqlite:/var/lib/drone/drone.sqlite
environment:
- DRONE_GITLAB=true
- DRONE_GITLAB_URL=http://0.0.0.0:8000
- DRONE_GITLAB_CLIENT=4b5292ffbe30e93713b57853c43194aa63d50c176516c8ffaa8b213f1bb1555b
- DRONE_GITLAB_SECRET=6088c59102511a418154197d415762a8768e0e2d6c9ad4bb9013f48d1df3b226
ports:
- "8080:8080"
Приложения запускаются нормально, и я настроил приложение в gitlab со следующими настройками:
Name: Drone
Redirect URI: http://0.0.0.0:8080/authorize
Затем я взял идентификатор и секрет и добавил их в среду дронов. Все это работает нормально. Однако, когда я пытаюсь войти в gitlab с дрона, я получаю:
произошла ошибка
Указанный URI перенаправления недействителен.
Не знаю, почему?
http://0.0.0.0/authorize
, но у вас есть дрон, открытый на порту 8080. Таким образом, URI перенаправления должен бытьhttp://0.0.0.0:8080/authorize
, я полагаю, поскольку GitLab перенаправляет пользователя обратно на Drone. - person Brad Rydzewski   schedule 19.01.2017