回答
Heroku用提交散列ENV['COMMIT_HASH']
設置環境變量。
至於時間戳,如果您在那裏託管您的代碼,您可以使用散列點擊github api。看起來ruby-github gem可以幫助你,或者你可以自己做HTTParty。
有安裝在Heroku grit。所以你可以使用它打開倉庫。
repo = Repo.new(Rails.root + '.git')
last_commit = repo.commits.first
p last_commit.id
p last_commit.authored_date
感謝您的提示。不幸的是,在heroku控制檯中它不適用於我(它在應用程序本身會有所不同嗎?)。在Repo.new之後,我得到'Grit :: NoSuchPathError:'任何想法? – 2009-10-18 14:43:54
試圖解決類似的問題,我可以證實,這不符合描述。 – Andrew 2011-01-27 06:29:48
這不起作用,因爲.git目錄在Heroku上不可用,至少不在當前的Cedar堆棧中。 – 2012-08-08 12:21:49
我認爲你需要config.gem'砂礫'到你的Rails應用程序,以便能夠創建回購對象。
你可以閱讀砂礫這裏http://github.com/mojombo/grit/
這樣做的原因是因爲當你的應用部署到賽道網格服務請求時,它就是被編譯成「彈頭」的快速部署,並將該渣屑沒有按」不再有git repo了。
這似乎是第一個評論(由Rich Apodaca)回答http://stackoverflow.com/a/1584452/1034080(由Damien MATHIEU)的迴應。 – 2012-01-12 15:23:37
另一種方法是使用rake任務進行部署,該任務從本地回購獲取所需的版本信息並更新Heroku一側的環境變量。然後,您可以使用標籤,或提交散列或其他任何內容,而不必依賴Heroku方面的行爲。
例如,如果你想使用最新的標籤,在你的rake任務:在任務的身體
def app_version
%x[git describe --tags --abbrev=0].strip
end
然後:
run "git push blah:blah blah"
run "heroku config:add APP_VERSION=#{app_version}"
我想能夠從Heroku的git上直接獲取這些信息,而不是間接偷偷摸摸地找到它,但我從來沒有想過如何做到這一點。
- 1. SVN修訂版本號和時間戳
- 2. 如何從時間戳生成哈希?
- 3. 時間戳哈希如何工作?
- 4. 可能通過Python代碼提取git repo修訂哈希值?
- 5. 時間戳Git中
- 6. 如何在使用SubGit的同步SVN回購中找到Git修訂哈希?
- 7. Ruby(RoR)XML哈希,然後顯示在視圖
- 8. 時間預訂視覺顯示
- 9. 在文本視圖中顯示時間
- 10. 在Django模板中顯示時間戳
- 11. 在Django模板中顯示時間戳?
- 12. 在angular2中顯示哈希值
- 13. 在表格中顯示列哈希
- 14. 如何在使用svn repo的git鏡像時找到svn修訂版的git哈希值?
- 15. tcpdump和wireshark:顯示時間戳
- 16. 哈希顯示相應的鍵和值
- 17. 瀏覽器在哈希變化時顯示圖標眨眼
- 18. ActiveRecords顯示ISO8601時間戳
- 19. 在java中的地圖和哈希圖
- 20. Rails3顯示哈希值
- 21. 如何將哈希添加到圖像以僅在存在哈希時才顯示圖像
- 22. ASP.NET Razor視圖哈希
- 23. 解析XML數據到哈希表中並顯示在列表視圖中?
- 24. 問題在哈希修改
- 25. DbxRecord服務器修改日期時間戳或修訂版
- 26. 哈希哈希在Perl中
- 27. 哈希表排序和執行時間
- 28. 無法按時間順序顯示Redis哈希值
- 29. 修改陣列的嵌套哈希和哈希
- 30. 在部署期間aws codedeploy git修訂
'ENV ['COMMIT_HASH']'適用於Bamboo,但不適用於Cedar。 – 2012-02-29 17:20:37