Я пытаюсь получить номер сборки, доступный в экземпляре php. Я буду использовать его как тип «кеш-бастера» для статических активов (css, js). Есть ли способ получить его во время выполнения? Если нет, есть ли способ получить его во время сборки в сценарии postinstall?Есть ли способ получить номер сборки в среде или во время сборки для экземпляра php?
ответ
Я вижу пару способов, которыми вы могли бы это сделать.
- В
/home/dotcloud/
каталоге кода является символической ссылкой на версию сборки, так, например мой код точек каталога вgit-16ae997
. В вашем сценарииpostinstall
, если вы получите имя этого каталога и сохраните его во временном файле, переменной env или, возможно, введете его в один из ваших конфигурационных скриптов, вы можете ссылаться на него из своей программы.
Подставляя это в вашем postinstall
скрипт добавит переменную BUILD_VERSION
к вашему .profile
и быть доступны из $BUILD_VERSION
в оболочке или других языках. Возможно, вам придется переустановить .profile
после того, как вы сделаете это изменение, чтобы убедиться, что оно установлено.
$ echo "export BUILD_VERSION=`readlink /home/dotcloud/code`" >> /home/dotcloud/.profile
$ echo $BUILD_VERSION
С помощью PHP вы сможете получить его во время выполнения со следующей переменной.
$_ENV["BUILD_VERSION"]
Другой подход, который я использовал себя на других проектах, чтобы создать файл .version в постустановочных, что только включает в себя метку сборки, и ссылку, файл для build_version и использовать его в качестве кэш-памяти -buster. Проблема с этим подходом заключается в том, что он создается в
postinstall
, если вы масштабируете выше 1 экземпляра, скорее всего, вы получите разные временные метки для каждого экземпляра, и я предполагаю, что это не то, что вы хотите.$ дата '+% s'> /home/dotcloud/.version
Я бы придерживаться # 1, так как он работает при масштабировании, и это более Пролив вперед.
Надеюсь, что это поможет.
Спасибо, что работало чудесно. Я закончил тем, что добавил его в свой сценарий postinstall, где я изменил свой файл конфигурации с текущим номером сборки. –