首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Capistrano 3移除.git文件夹

Capistrano 3移除.git文件夹
EN

Stack Overflow用户
提问于 2015-10-05 21:51:41
回答 1查看 381关注 0票数 0

我们的代码使用git存储库来获得应用程序的版本(我们制作了类似于{git-tag}-build{git-hash}的内容,并且使用Capistrano来部署应用程序)。

但是,使用Capistrano v3.0 (由Jenkins运行),我发现git存储库被删除了。

我试着做一些类似的东西:

代码语言:javascript
复制
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 andgit描述了failed)

对于如何解决这个问题,或者如何将.git文件夹包含在release_path中,有什么想法吗?任何关于版本控制的其他想法都是可以接受的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-05 22:38:44

缺少.git文件夹的原因是通过git archive | tar -xf (简化)进行部署。

部署时,release_path包含一个名为REVISION的文件,您可以在该文件中找到已部署代码的git哈希。你可以用这个得到精确的修订。

我通常建议您在代码库中添加一个变量来跟踪发布版本,例如1.0.0。RubyGems模板就是这样做的。这样,您的代码版本就不绑定到版本控制系统。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32958509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档