docker: обновить один файл из источника - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь создать контейнер docker для запуска модульных тестов, поскольку модульные тесты запускают деструктивные операции в файловой системе.

Модульные тесты написаны на языке Dart.

Я пытаюсь ускорить разработку моих модульных тестов.

Проблема в том, что изображение docker ДОБАВЛЯЕТ мои модульные тесты к контексту как часть всего моего проекта (что требуется).

После монтирования проекта контейнер docker должен получить зависимости проекта, выполнив:

RUN pub global activ - путь к ресурсу / dshell

Поскольку это Работа в сети может занять около минуты.

Когда я разрабатываю модульные тесты, эта минута или около того значительно замедляет взаимодействие с разработчиками.

Что я хочу docker сделать просто потяните в измененном модульном тесте. В настоящее время, если я изменяю модульный тест, Docker обнаруживает изменение в PATH и перестраивает весь контекст.

Как мне ускорить это? Можно ли как-то исключить модульные тесты в исходном контексте, а затем добавить их после выполнения глобальной строки pub?

Dockerfile


FROM google/dart

WORKDIR /


# Add the entire dshell project so we can run from the local filesystem
ADD . /dshell

# active the dart project and download any dependancies
RUN pub global activate --source path /dshell

# this is the unit test which lives in the project 'ADD'ed as '.'
# I thought this line might help but it didn't
ADD test_install/install_test.dart /dshell/test_install/install_test.dart


CMD []

ENTRYPOINT ["/usr/bin/dart", "/dshell/test_install/install_test.dart"]
~                                                                       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...