Size: a a a

2021 July 10

ММ

Максим Мартынов... in ru_gitlab
cat + export?
источник

АК

Андрей Казанцев... in ru_gitlab
надо до запуска script
источник

ММ

Максим Мартынов... in ru_gitlab
Странное требование
источник

АК

Андрей Казанцев... in ru_gitlab
Просто есть этап сборки базового контейнера который запускается только если Lock файл поменялся
источник

АК

Андрей Казанцев... in ru_gitlab
Надо чтобы следующий этап использовал собранный образ
источник

АК

Андрей Казанцев... in ru_gitlab
Проблема в том что lock меняется редко и в отдельных мёрдж реквестах
источник

С

С.В. in ru_gitlab
Запихуй все в автодевопс, чо-нить да соберется и задеплоится.
источник

АК

Андрей Казанцев... in ru_gitlab
Поэтому юзать проброс env через стейджи не получиться
источник

ММ

Максим Мартынов... in ru_gitlab
Все ещё не понимаю исходной проблемы
источник

ММ

Максим Мартынов... in ru_gitlab
Как связан lock файл и базовый образ с чтением версии из файла и тегированием какого-то другого образа?
источник

ММ

Максим Мартынов... in ru_gitlab
Опишите текущую схему целиком
источник

АК

Андрей Казанцев... in ru_gitlab
Есть этап тестирования в котором установка зависимостей и подготовка окружения занимает 80% времени. При этом сами зависимости одни и тежи всегда. Хочу добавить этап сборки образа с зависимостями только когда lock файл измениться. Во всех остальных случаях должен запускаться этап тестирования уже в готовом образе. Для этого надо както сообщить тег образа который зависит от хеша в lock файле. Надо его как-то достать что образ имеет его тег.
источник

АК

Андрей Казанцев... in ru_gitlab
Как-то так.
источник

ММ

Максим Мартынов... in ru_gitlab
Звучит как плохо написанный Dockerfile. Сам докер учитывает изменения файлов, добавленных в образ через COPY/ADD, и если они не менялись, то вместо сборки берутся слои из кэша
источник

ММ

Максим Мартынов... in ru_gitlab
Покажи Dockerfile
источник

АК

Андрей Казанцев... in ru_gitlab
FROM python AS BASE

RUN pip install pipenv

RUN \
   --mount=type=bind,source=Pipfile,target=Pipfile \
   --mount=type=bind,source=Pipfile.lock,target=Pipfile.lock \
   pipenv install --dev --system
источник

ММ

Максим Мартынов... in ru_gitlab
Эээ, зачем так делать?
источник

ММ

Максим Мартынов... in ru_gitlab
mount используется для проброса секретов командам, выполняющим сборку, чтобы они не попали в итоговый образ. А Pipfile за что?
источник

ММ

Максим Мартынов... in ru_gitlab
COPY Pipfile Pipfile.lock ./
RUN pipenv install ...
источник

АК

Андрей Казанцев... in ru_gitlab
А нафиг мне лишние файлы пихать в лэир
источник