gpt4 book ai didi

php - 通过 : remote_cache 使用 Capistrano + Gitlab 进行部署

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:44:37 24 4
gpt4 key购买 nike

我正在使用 Capistrano 部署 PHP Web 应用程序,我们有一个内部 gitlab 服务器,该服务器无法从网络外部访问。我正在尝试使用 remote_cache 进行部署,因为如果将其用于复制会花费很多时间。我已经查过了 ThisThis但没有得到想要的结果。我正在尝试以下代码。

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"]

存储库和本地存储库使用什么路径。有什么建议我怎样才能做到这一点?编辑:我可以将本地存储库用于远程缓存吗?

最佳答案

您的意思是将本地存储库用于 remote_cache?

:repository 是部署到的服务器将使用的 url。因此,如果您的 Git 服务器在您要部署到的同一台服务器上运行,您可以将其设置为 file:///path_to_repo

:local_repository 是您将用于从运行 capistrano 脚本的本地计算机连接到 repo 的 url。如果 :repository 是本地路径并且您从另一台机器运行 capistrano,则只需要设置它。

例子:

set :repository, "file:///home/git/my_repo"
set :local_repository, "http://server_address/my_repo"

但是,例如,如果你的 repo 在 Github 上,那么你应该只设置 :repository(不要设置 :local_repository)

set :repository, "git@github.com/your_account/your_repo.git"

Capistrano 在使用 remote_cache 部署(共享/缓存副本)时自动创建一个目录来保存它的 repo 克隆。

运行脚本时是否出现错误?

关于php - 通过 : remote_cache 使用 Capistrano + Gitlab 进行部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23338556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com