我使用Capistrano來部署我的rails應用程序。我如何寫出部署到public_html/revision.txt的git修訂版?如何將已部署的git修訂版寫出到Capistrano的文件中
2
A
回答
0
你可以得到最新的提交ID與日誌命令,然後將其重定向到文件:
git --no-pager log -1 --pretty=format:%H > public_html/revision.txt
4
如果任何人有這樣做:
namespace :deploy do
# ...
desc "Write the current version to public_html/revision.txt"
task :write_revision, :except => { :no_release => true } do
run "cd #{latest_release}; git rev-parse HEAD > #{latest_release}/public/revision.txt"
end
# ...
end
after "deploy:update_code", "deploy:write_revision"
2
我加入這我deploy.rb:
execute "git rev-parse --abbrev-ref HEAD > public/revision.txt"
execute `"git log --oneline -1 >> public/revision.txt"`
然後在我的內部管理頁面我有:
File.read("#{Rails.root}/public/revision.txt")
如果需要,您可以放入Rails.root而不是公開。
0
這可能是自原問題被問到以來添加的一項新功能,但Capistrano已在應用程序根目錄中創建了一個REVISION
文件。你可以複製這個。以下是我的:
desc "Write the current version to public/revision.txt"
task :write_revision do
on roles(:app, :api) do
execute :cp, "#{fetch(:release_path)}/REVISION #{fetch(:release_path)}/public/revision.txt"
end
end
after "deploy:finished", "deploy:write_revision"
相關問題
- 1. 在部署過程中將git修訂號插入文件
- 2. 如何修復糟糕的Capistrano部署?
- 3. 轉:如何將git修訂版添加到構建的二進制文件中?
- 4. Capistrano - 找到當前部署的版本
- 5. 如何在capistrano發行版中看到修改的文件?
- 6. git checkout git gui中的文件修訂
- 7. 從git修訂版中刪除特定的文件/文件夾
- 8. 與Capistrano部署Ruby版本時出錯
- 9. 如何將文件恢復到之前的修訂版並將其提交到新修訂版
- 10. 在部署期間aws codedeploy git修訂
- 11. 忽略capistrano部署中的文件
- 12. Capistrano將已刪除的git文件發佈到
- 13. 提交將要部署的修訂版本的散列?
- 14. 訪問heroku部署修訂版
- 15. 被部署Capistrano的排除文件,同時仍然版本控制使用Git
- 16. Capistrano後部署uglify-js鉤子輸出,但不寫文件
- 17. 如何在部署時使capistrano編寫.rvmrc文件?
- 18. 如何將gdoc的修訂歷史記錄導出到git?
- 19. 你如何回滾到以前部署的版本與capistrano?
- 20. Capistrano部署到www文件夾
- 21. Capistrano&Git:需要一個修訂
- 22. 如何在導出後將當前修訂版號碼導入到文件中?
- 23. Capistrano的部署
- 24. 如何在git svn中選擇修訂版簽出?
- 25. Git:如何在特定修訂版本之間獲取文件
- 26. 使用Capistrano在部署中修改文件
- 27. 如何修復沒有標識的破壞的git修訂版?
- 28. 使用Capistrano部署時保留未版本控制的文件
- 29. 如何在activiti explorer中列出所有已部署的版本
- 30. 如何找出文件被刪除的修訂版本?