我們的代碼使用Git倉庫,以獲取應用程序的版本(我們做的東西像{git-tag}-build{git-hash}
和我們使用Capistrano的部署我們的應用程序。Capistrano的3去除git的文件夾
但是,使用Capistrano的V3 0.0(詹金斯跑了),我發現,Git倉庫,取出
我試圖讓一些與此類似:。
namespace :environment do
desc 'Copies .git folder'
task :copy_git do
on roles(:app) do
within release_path do
execute :mkdir, ".git"
execute :cp, "-R * .git/"
end
end
end
end
但正如你可能知道,這是行不通的
這是我得到的問題:
Could not get version string (no version file and
git的描述failed)
。
任何想法如何解決這個問題或如何在release_path中有.git文件夾?版本控制上的任何其他想法都可以接受。
很棒的回答。不知道REVISION文件的存在。我結束了對我們所做的和你所建議的事情的混合。 一方面,我們實現了靜態版本控制(就像RubyGems一樣),但我們仍然需要構建,所以我設法使用了REVISION文件中提供的哈希。所以它看起來像{靜態,即1.0.4} -build {REVISION}。 – demogar