回答
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. 時間戳哈希如何工作?
- 2. 時間戳Git中
- 3. Ruby(RoR)XML哈希,然後顯示在視圖
- 4. 在Django模板中顯示時間戳?
- 5. 在表格中顯示列哈希
- 6. 在angular2中顯示哈希值
- 7. 如何在使用svn repo的git鏡像時找到svn修訂版的git哈希值?
- 8. tcpdump和wireshark:顯示時間戳
- 9. ActiveRecords顯示ISO8601時間戳
- 10. 在java中的地圖和哈希圖
- 11. Rails3顯示哈希值
- 12. ASP.NET Razor視圖哈希
- 13. 解析XML數據到哈希表中並顯示在列表視圖中?
- 14. 問題在哈希修改
- 15. 無法按時間順序顯示Redis哈希值
- 16. 修改陣列的嵌套哈希和哈希
- 17. 顯示本地時間在視圖
- 18. 用SimpleAdapter使用哈希映射在ListView中顯示圖像 - Android
- 19. 在特定時間戳顯示消息
- 20. 在烤麪包上顯示時間戳
- 21. Git的標籤列表,顯示提交SHA1哈希
- 22. 訂購哈希到XML:Rails
- 23. git和元素的時間戳
- 24. 在Rails中修改參數哈希值
- 25. 顯示在Coldfusion中的SVN修訂號
- 26. 顯示在gitk新修訂後的git拉
- 27. 在哈希表中創建字符串哈希值的時間複雜度
- 28. 顯示創建視圖中兩個時間戳的正確減法
- 29. Python和其他文件哈希之間的MD5哈希差異
- 30. 一致哈希和錐哈希之間的區別是什麼?
'ENV ['COMMIT_HASH']'適用於Bamboo,但不適用於Cedar。 – 2012-02-29 17:20:37