我想将我的示例项目从ubuntu部署到windows我已经成功地在ubuntu上创建了一个ssh密钥。现在我想通过仅将文件从Windows复制到ubuntu远程来实现这一点。当我执行'cap production deploy'时,我收到了这个错误 '致命:没有远程配置列出引用。' 我是客人,这是来自git。 我的问题是,如果我只将项目从Windows复制并粘贴到服务器,如何设置inscm?
顺便说一下,这是我的rb文件的代码:
Deployer.rb 的
lock '3.5.0'
--set :application, 'my_app_name'
--set :repo_url, 'git@example.com:me/my_repo.git'
set :application, "zemsoft"
--set :deploy_to, "/var/www/my-app.com"
set :deploy_to, "/var/www/e"
set :domain, "zemsofterp2.com"
set :scm, "git"
--set :repository, "file:/// Users/deployer/sites/my-app"
set :repository, "C:/xampp/htdocs/vendor"
set :deploy_via, :copy
set :use_sudo, false
set :keep_releases, 3
-- Default branch is :master
-- ask :branch, git rev-parse --abbrev-ref HEAD
.chomp
-- Default deploy_to directory is /var/www/my_app_name
-- set :deploy_to, '/var/www/my_app_name'
-- Default value for :scm is :git
-- set :scm, :git
-- Default value for :format is :airbrussh.
-- set :format, :airbrussh
-- You can configure the Airbrussh format using :format_options.
-- These are the defaults.
-- set :format_options, command_output: true, log_file: 'log/capistrano.log', color: :auto, truncate: :auto
-- Default value for :pty is false
-- set :pty, true
-- Default value for :linked_files is []
-- set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml')
-- Default value for linked_dirs is []
-- set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system')
-- Default value for default_env is {}
-- set :default_env, { path: "/opt/ruby/bin:$PATH" }
-- Default value for keep_releases is 5
-- set :keep_releases, 5
namespace :deploy do
after :restart, :clear_cache do
on roles(:web), in: :groups, limit: 3, wait: 10 do
-- Here we can do anything such as:
-- within release_path do
-- execute :rake, 'cache:clear'
end
end
end
end
Production.rb
role :app, %w{ely029@192.168.1.241} # EDIT your ssh username and server ip address
git rev-parse --abbrev-ref HEAD
答案 0 :(得分:1)
set :deploy_via, :copy
什么都不做;这不是有效的Capistrano 3设置。
Capistrano 3没有内置机制,可以通过将文件从一台机器复制到另一台机器进行部署。您需要一个中央源代码存储库,例如服务器可以访问的远程Git存储库。
有第三方Capistrano插件可以提供您需要的复制行为(搜索GitHub capistrano copy),但我无法保证其质量或效果。我的建议是使用远程Git存储库。