← Назад в блог

Как докеризовать своё приложение с GitHub-модулем

Опубликовано
1 мин чтения
--- просмотров

Как докеризовать своё приложение, у которого есть внешняя зависимость, подключённая как github-модуль? вау

Что у нас есть

  • Flask-приложение
  • Внешняя библиотека, которая используется как зависимость

Идея

Добавить репозиторий зависимости как github submodule (для более удобной работы во время локальной разработки).

Клонировать репозиторий вместе с сабмодулями рекурсивно:

git submodule update --init --recursive

Так как сабмодули не включаются в основной репозиторий сами по себе, а только ссылка на них, этот момент приходится обрабатывать вручную в workflow github actions.

Я предпочитаю делать так:

  • Удалить ссылку на сабмодули
  • Клонировать репозиторий, передавая Personal Access token (если ваш репозиторий приватный)

Makefile

clean:
	echo "[SCREENPROOF-APP/MAKE] clean"
	sudo rm -r lib || true
	sudo rm -r venv || true
	python3.8 -m venv venv

clone-libs:
	echo "[SCREENPROOF-APP/MAKE] clone-libs"
	git clone https://<YOUR_PAT>:@github.com/<REPO>.git lib/<COPY_TO_PATH>
  • В Dockerfile установите и подключите её:
install-libs:
	echo "[SCREENPROOF-MODULE/MAKE] install-libs"
	pip install -e <COPY_TO_PATH>

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок