Heroku Labs에서 설정 한 값 중 하나 인 Dyno Metadata addon (https://devcenter.heroku.com/articles/dyno-metadata)을 기반으로 캐시 키를 사용하여 파일을 레일 캐시에로드하려고합니다.슬러그 빌드 프로세스 중에 내 레일 앱이 Heroku가 설정 한 ENV 변수에 액세스 할 수 있습니까?
이 기사에서는 슬러그 빌드 프로세스에서 초기에 사용할 수있는 고유 한 식별자를 찾고 있습니다.
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z HEROKU_RELEASE_VERSION: v42 HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
이
은 (위의 예 데이터) 나에게 약간의 관심의 세 가지입니다. 자산 미리 컴파일 단계에서 위의 3 중 하나를 사용하기로 결정한 고유 한 값에 의존합니다. 이 단계는 내 레일 앱이 작동하기 전에 완료됩니다.처음에는 HEROKU_RELEASE_VERSION
을 시도했지만 슬러그 빌드 프로세스가 완료 될 때까지 설정되지 않은 것으로 나타났습니다. 이는 자산 미리 컴파일 단계에서 완료 되었기 때문에 nil
입니다.
자산 사전 컴파일 전에 알고 있는지 확인하려면 HEROKU_SLUG_COMMIT
을 시도합니다. 이 올바른지? 일부 초기 테스트에서 제대로 작동하는 것으로 보입니다. (자산 사전 컴파일 전에는 알 수 없지만) 올바른 순서를 알고 싶습니다.
ENV[]
에서 사용할 수있는 이전 값이 아닌 경우 더 좋은 제안은 무엇입니까?
====== UPDATE :
나는 값으로 아래의 구성으로 장난되었습니다 내가 발견 한
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z HEROKU_RELEASE_VERSION: v42 HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
그 자산, 그 위의 값을 구축하기 전에 사전 빌드를 변경하지 말고 빌드를 변경하십시오. 아래에 출력 결과가 아래와 같습니다. 보시다시피 현재 배포는 2583508
이지만 응용 프로그램이 완료 될 때까지 빌드 프로세스 중에 ENV['HEROKU_SLUG_COMMIT']
이 8318914
을 반환하면 ENV['HEROKU_SLUG_COMMIT']
이 2583508
으로 업데이트됩니다.
=== sample-app Releases - Current: v356
v356 Deploy 2583508 [email protected] 2017/04/26 20:05:51 -0400 (~ 40s ago)
v355 Deploy 8318914 [email protected] 2017/04/26 19:51:33 -0400 (~ 14m ago)
v354 Deploy c054f1e [email protected] 2017/04/26 19:40:42 -0400 (~ 25m ago)
BROWSER RESTRICTIONS SLUG COMMIT: 83189141e4e45643bf71d9aa78604e479ea210f1
실제로 빌드하기 전에 현재 빌드를 고유하게 알 수있는 방법이 있습니까? heroku lab addon을 사용하지 않았을 수 있습니까?