172 похожих чатов

Всем привет, может подскажет кто по гитлабу. у меня очень

много проектов, которые запускают параллельные сборки, иногда deploy токены перезаписываются и проект не может выкатить образ в реестр, помогли сборки docker in docker. Но для некоторых проектов нужно запускать команду в опеределенном образе, которому нужна папка git, но в таком случае, даже если делать docker run -v $(pwd):/src, то в последней папке не будет проектов, причем docker build отрабатывает нормально. Можно выкрутиться используя другой раннер и артифакты, но хотелось бы один использовать. Как-то вообще можно смонтировать папку с текущим проектом внутрь другого контейнера, в DinD?

18 ответов

14 просмотров

Можно сделав volume на хосте и монтируя его в оба контейнера

а почему deploy токены перезаписываются? В том же jenkins если серкетом является файл, он каждый раз рандомный создает и сразу удаляет и пофиг что сборки параллельные

Николай-Емашев Автор вопроса
Aleksey Lazarev
Можно сделав volume на хосте и монтируя его в оба ...

тогда получается нужно предварительно копировать код в этот volume. Раннер работает только с папкой /build. А есть пример?

Николай-Емашев Автор вопроса
Dmitry Sergeev 🇺🇦
а почему deploy токены перезаписываются? В том же ...

в /home/gitlab-runner/.docker/config.json - этот файл и перезаписывается. То есть, когда делается запись в раннере docker login -u $TOKEN и тд - то создается новый файл

ох накажут... а по сабжу - артефактов не хватает?

Николай-Емашев Автор вопроса
Aleksey Lazarev
Может опишешь с конкретикой?

shell раннер раньше был. Сейчас на DinD перешел из-за перезаписи токенов, но в нем свои косяки. Можно конечно через какой-нибудь ansible сделать десяток пользователей изолированных, но это ацкие костыли.

Николай Емашев
в /home/gitlab-runner/.docker/config.json - этот ф...

А там нет специального метода для логина в registry. Типо как в jenkins docker.withRegistry("https://example.com", 'secret-credentails-name') { ... } Вот эта штука, создает свой config.json для конкретной сборки

Николай-Емашев Автор вопроса
Антон Сенько
ох накажут... а по сабжу - артефактов не хватает?

артифакт могу генерить через shell раннер только, в DinD такая же проблема - не монтируется папка с проектом, если docker run запускать.

Я все равно не понимаю нафиг тебе динд в этом случае

Я так понимаю, этот вопрос вообще вне плоскости k8s лежит, лучше его задать здесь https://t.me/ru_gitlab И когда сделаете это, то раскройте сеттинг подробнее, потому что ЯННП, как и большинство здесь

Николай Емашев
артифакт могу генерить через shell раннер только, ...

погоди, ну ты же можешь DOCKER_CONFIG делать уникальным для конкретного билда. Тот же jenkins через него скорее всего и делает. Создаешь DOCKER_CONFIG=`mktemp` docker login ... docker build... docker push... rm -f ${DOCKER_CONFIG]

Николай-Емашев Автор вопроса
Dmitry Sergeev 🇺🇦
погоди, ну ты же можешь DOCKER_CONFIG делать уника...

так вроде ж нет. https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2745 Но за совет спасибо, попробую

Николай Емашев
так вроде ж нет. https://gitlab.com/gitlab-org/gi...

Дык там же решение в явном виде написано

Ничерта не понял, нет такого раннера в гитлабе. есть докер-раннер, в него можно докер сокет с хоста прокинуть. Это называется ДИНД ?

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта