代码之家  ›  专栏  ›  技术社区  ›  ErsatzRyan

使用capistrano和远程git repo部署,但不在生产服务器上运行git

  •  9
  • ErsatzRyan  · 技术社区  · 16 年前

    换句话说,我可以这样做吗?

    set :repository, "myserver.com/git/#{application}.git"
    set :scm, "git"
    set :deploy_via, :copy
    
    2 回复  |  直到 16 年前
        1
  •  16
  •   Emanuil Rusev    13 年前

    你问题的答案几乎是正确的。不过,您需要以稍微不同的方式指定git存储库。您需要的是:

    set :repository, "someuser@somehost:/home/myproject"
    set :scm, "git"
    set :deploy_via, :copy
    

    lib/capistrano/recipes/deploy/scm/git.rb .

    copy 部署策略是Capistrano将您的git repo克隆到 /tmp 在您的本地机器上,tars&压缩结果,然后通过sftp将其传输到服务器。复制策略也支持通过scp进行复制,但是如果不在源代码中进行一点黑客攻击,就无法告诉它这样做。

        2
  •  0
  •   theIV    16 年前

    你试过类似的东西吗

    set :repository, "myserver.com/git/#{application}"
    set :scm, :none
    set :deploy_via, :copy
    

    Capistrano RDocs .