我们的代码使用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