Автоматическое добавление версии в исходники (не обязательно Python) - GIT hook
Задача
Удобно всегда знать точную версию приложения, с которым ты имеешь дело.
Когда речь о передаче приложения по цепочке разработки (в отдел тестирования,
на демо и продуктовую площадки) всегда есть точная версия. Но ее ставят руками
в том или ином виде (например, как git tag
в ветке релизов).
Когда речь идет о внутреннем сервере разработке, или собранной вами для отладки версии приложения, нереально не забывать каждый раз менять версию.
Чтобы версия проставлялась автоматически можно использовать git hooks
.
Это скрипты, работающие локально на вашем компьютере. Они вызываются
из git
при соотвествующих событиях, например, перед комитом.
Показанный ниже скрипт (назовите его
git_hook_hook_pre_commit.sh
) сохраняет в файл дату и
время последнего комита и добавляет этот файл в комит.
Скрипт (назовите его git_hook_hook_post_commit.sh
)
добавляет этот файл в комит.
Предполагается, что файл с датой оказывается внутри ваших исходников и они могут им воспользоваться.
Ниже пример Python кода, считывающего эту версию из файла.
Далее вы можете
использовать ее в вашем приложении, например, чтобы отображать в диалоге
О программе
или возвращать в вызове API /version
.
Из соображений
безопасности эти скрипты (git hooks
) никогда не установливаются
автоматически при скачивании репозитория, их всегда надо устанавливать явно.
Ниже показан скрипт, устанавливающий показанные выше скрипты как
pre-comit & post-commit git hooks
.