2012-05-23 3 views
0

PHP 인스턴스에서 사용 가능한 빌드 번호를 얻으려고합니다. 정적 인 자산 (css, js)에 대한 일종의 "캐시 버스터 (cache-buster)"로 사용할 것입니다. 거기에 런타임에 그것을 얻을 수있는 방법이 있습니까? 그렇지 않은 경우 빌드 후 postinstall 스크립트에서 가져 오는 방법이 있습니까?php 인스턴스의 환경 또는 빌드 타임에 빌드 번호를 가져 오는 방법이 있습니까?

답변

0

내가 할 수있는 몇 가지 방법이 있습니다.

  1. /home/dotcloud/에서 코드 디렉토리 예를 들어 내 코드 디렉토리를 가리 키도록 git-16ae997에, 빌드 버전에 대한 심볼릭 링크입니다. postinstall 스크립트에서 해당 디렉토리의 이름을 가져 와서 임시 파일, env 변수에 저장하거나 설정 스크립트 중 하나에 삽입하면 프로그램에서 참조 할 수 있습니다. 당신의 postinstall 스크립트에서이 퍼팅

당신의 .profileBUILD_VERSION 변수를 추가하고, 쉘, 또는 다른 언어로 $BUILD_VERSION에서 당신에게 사용할 수 있습니다. 변경 한 후에 .profile의 소스를 다시 설정해야 설정할 수 있습니다.

$ echo "export BUILD_VERSION=`readlink /home/dotcloud/code`" >> /home/dotcloud/.profile 

$ echo $BUILD_VERSION 

PHP를 사용하면 런타임에 다음 변수를 사용하여 가져올 수 있습니다.

$_ENV["BUILD_VERSION"] 
  1. 내가 다른 프로젝트에 자신을 사용한 또 다른 방법은 .version의 바로 빌드의 타임 스탬프를 포함하는 사후에 파일 참조 것을를 만들 build_version에 대한 파일 캐시로 사용하는 것입니다 - 버스터. 이 방법의 문제점은 postinstall에서 생성되므로 1 인스턴스 이상으로 확장하면 각 인스턴스에 대해 서로 다른 타임 스탬프가 표시 될 가능성이 높습니다. 원하는 결과가 아닌 것 같습니다.

    $ 날짜 '+ %의'> /home/dotcloud/.version

당신이 확장 할 때 작동하고, 더 해협 앞으로 때문에 나는 # 1 스틱 것입니다.

희망이 있습니다.

+0

정말 고맙습니다. 필자는 현재 빌드 번호로 구성 파일을 수정 한 사후 설치 스크립트에이 파일을 추가했습니다. –