Ari*_*dha 5 php git gem capistrano ruby-on-rails
我使用capistrano来部署PHP Web应用程序,我们有一个内部gitlab服务器,无法在网络外部访问.我正在尝试使用remote_cache进行部署,因为如果将其用于复制需要很长时间.我已经检查了这个和这个但没有得到想要的结果.我正在尝试下面的代码.
set :default_stage, "staging"
ssh_options[:forward_agent] = true
server "servername", :app, :web, :db, :primary => true
set :application, "appname"
set :scm, :git
set :repository, '.'
set :local_repository, "file://."
set :branch, "master"
default_run_options[:pty] = true
set :keep_releases, 2
set :user, 'username'
set :deploy_to, "/home/domain/public_html/test"
set :copy_cache, true
set :deploy_via, :remote_cache
set :copy_strategy, :export
set :use_sudo, false
set :copy_exclude, [".git", ".DS_Store", ".gitignore", ".gitmodules", "Capfile", "config/deploy.rb"]
Run Code Online (Sandbox Code Playgroud)
存储库和本地存储库使用什么路径.有什么建议我怎样才能做到这一点?编辑:我可以使用我的本地仓库进行远程缓存.
您的意思是使用本地存储库作为remote_cache?
:repository是部署到的服务器将使用的 url。因此,如果您的 Git 服务器与您要部署的服务器运行在同一台服务器上,则可以将其设置为 file:///path_to_repo
:local_repository是您用于从运行 capistrano 脚本的本地计算机连接到存储库的 URL。仅当 :repository 是本地路径并且从另一台计算机运行 capistrano 时,才需要设置此项。
例子:
set :repository, "file:///home/git/my_repo"
set :local_repository, "http://server_address/my_repo"
Run Code Online (Sandbox Code Playgroud)
但是,例如,如果您的存储库位于 Github 上,那么您应该只设置:repository(请勿设置:local_repository)
set :repository, "git@github.com/your_account/your_repo.git"
Run Code Online (Sandbox Code Playgroud)
当使用remote_cache部署(共享/缓存副本)时,Capistrano会自动创建一个目录来保存存储库的克隆。
运行脚本时是否出现错误?
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |