Если вы хотите, чтобы последние изменения кода были извлечены в существующий контейнер, на самом деле нет способа запустить git clone
в контейнере, чтобы вы могли позже git pull
.
Если выне нужна вся история, тогда, возможно, git clone --depth 1 ускорит первоначальный клон.
RUN git clone --depth 1 ssh://git@foobar.com/sample_repo.git /sample_repo
Предоставив аргумент --depth 1в команду clone процесс скопирует только самую последнюю ревизию всего в хранилище.Это может быть спасением для серверов Git, которые в противном случае могут быть перегружены автоматизацией CI / CD (Continuous Integration / Continuous Delivery).
Если вы вообще не хотите git
в контейнере и вам удобно перестраивать образ, чтобы получить изменения кода, тогда вспомогательный скрипт, который выполняет git archive
с хостом,и тогда оператор ADD
в Dockerfile
тоже сработает.