Я настраиваю процесс gitlab-ci, но не понимаю, как мне управлять своими секретами ...
Итак, я успешно запустил gitlab / gitlab-runner в качестве контейнера докеров и зарегистрировал бегун докеров из gitlab / dind.
В этом случае я хочу просто создать образ докера из файла Docker, заполнить кеши, которые впоследствии будут использоваться другими сборками для тестирования интеграции ci. Это путем переноса его в мой частный реестр докеров. Мое определение .gitlab-ci.yml в этом случае просто:
build_image:
script:
- docker build -t ensime/ensime-atom-ci .
- docker tag ensime/ensime-atom-ci docker.woodenstake.se/ensime/ensime-atom-ci
- docker push docker.woodenstake.se/ensime/ensime-atom-ci
Кажется достаточно простым, но, конечно, у меня здесь нет прав, поэтому он терпит неудачу:
Я только что пришел с дрона, где создал для этого файл .sec.
Но здесь я должен войти в систему, верно? Итак, я прочитал здесь
Проблема в том, что, поскольку я запускаю gitlab-runner из dockerized образа gitlab / gitlab-runner, кажется, там даже нет docker cli?
viktor@i7:/var/lib$ sudo docker exec -it gitlab-runner docker login
exec: "docker": executable file not found in $PATH
Любые советы высоко ценятся!
Обновление для уточнения:
Итак, конец журнала сборки gitlab-ci:
012ca7ed9b62: Retrying in 1 seconds
173cd98367a6: Retrying in 1 seconds
92b0661193a5: Retrying in 1 seconds
c12ecfd4861d: Waiting
5f70bf18a086: Retrying in 5 seconds
no basic auth credentials
ERROR: Build failed: exit code 1
Хост-компьютер регистрируется в реестре как root. Пытаюсь войти в систему из контейнера докеров, у меня просто нет docker cli.
Я добавил флаг --docker-privileged
при регистрации бегуна.
Я предполагаю, что учетные данные должны пройти через host -> gitlab-runner -> runner instance (dind)