标签: capistrano

尽管有SSH密钥,Capistrano在部署时会要求输入密码

我的ssh密钥肯定设置正确,因为我在使用ssh时从未提示输入密码.但是在部署时,capistrano仍然要求输入密码cap deploy.我设置的时候不会要求密码cap deploy:setup,奇怪的是.如果没有密码提示,它将使部署周期更加顺畅.

细节:我正在将一个Sinatra应用程序部署到Dreamhost共享帐户(使用Passenger).我曾经按照教程做了很长时间,这在当时完美无缺.从那以后出现了什么.我正在使用capistrano(2.5.9)和git版本1.6.1.1.这是我的Capfile:

load 'deploy' if respond_to?(:namespace) # cap2 differentiator

set :user, 'ehsanul'
set :domain, 'jellly.com'

default_run_options[:pty] = true

# the rest should be good
set :repository,  "ehsanul@jellly.com:git/jellly.git"
set :deploy_to, "/home/ehsanul/jellly.com"
set :deploy_via, :remote_cache
set :scm, 'git'
set :branch, 'deploy'
set :git_shallow_clone, 1
set :scm_verbose, true
set :use_sudo, false

server domain, :app, :web

namespace :deploy do
  task :migrate do
    run "cd #{current_path}; /usr/bin/rake migrate environment=production"
  end
  task :restart do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

after …
Run Code Online (Sandbox Code Playgroud)

ruby capistrano ruby-on-rails sinatra ssh-keys

50
推荐指数
3
解决办法
4万
查看次数

Capistrano&Bash:忽略命令退出状态

我正在使用Capistrano运行远程任务.我的任务看起来像这样:

task :my_task do
  run "my_command"
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果my_command退出状态!= 0,那么Capistrano认为它失败并退出.当退出状态不为0时,如何在退出时让capistrano继续运行?我已经改变my_commandmy_command;echo它并且它有效,但感觉就像一个黑客.

ruby bash capistrano ruby-on-rails

48
推荐指数
5
解决办法
2万
查看次数

Capistrano部署问题

当我输入

cap production deploy

我明白了

Capfile locked at 3.1.0, but 3.2.0 is loaded

当我卸载时,capistrano 3.2.0我得到了

Could not find capistrano-3.2.0 in any of the sources
Run `bundle install` to install missing gems.
Run Code Online (Sandbox Code Playgroud)

我的gemfile有

gem 'capistrano', '~> 3.1'
gem 'capistrano-rails', '~> 1.1'
Run Code Online (Sandbox Code Playgroud)

和Capfile

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
Run Code Online (Sandbox Code Playgroud)

在那种情况下该怎么办?

deployment capistrano ruby-on-rails

48
推荐指数
2
解决办法
2万
查看次数

如何找到Vagrant IP?

我一直在使用Capistrano开发自动部署,并使用Vagrant作为我的测试虚拟服务器.

问题是,我需要Vagrant的IP" ssh进入它".

我试过ifconfig并获得了IP,但看起来它不是确切的流浪者IP.

任何人都可以帮助我获得Vagrant IP吗?

capistrano vagrant

46
推荐指数
7
解决办法
9万
查看次数

Capistrano - 如何将文件放入共享文件夹?

我是新手Capistrano,我看到有共享文件夹和选项:linked_files.我认为共享文件夹用于在版本之间保存文件.但我的问题是,文件最终是如何进入共享文件夹的?

另外,如果我想将另一个目录符号链接到当前目录,例如某个路径上的静态文件夹,我该怎么把它放在linked_dirs

最后,如何设置chmod 755为linked_files和linked_dirs.

谢谢.

capistrano config web-deployment

45
推荐指数
4
解决办法
4万
查看次数

Rails 4,Capistrano 3.0.0,无法加载此类文件 - 部署

我刚刚运行捆绑更新,capistrano已更新到3.0.0但现在当我运行cap deploy时,我收到错误,无法弄清楚如何解决这个问题.在这次更新之前,我每天都在更新我的服务器而没有任何问题.

cap aborted!
cannot load such file -- deploy
/home/mark/rails_apps/myapp/Capfile:1:in `load'
/home/mark/rails_apps/myapp/Capfile:1:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud)

capfile

load 'deploy'
load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails ruby-on-rails-4

45
推荐指数
4
解决办法
2万
查看次数

rails active admin deployment:找不到文件'jquery-ui'

当尝试使用capistrano进行部署时,capistrano使用命令bundle exec rake

    RAILS_ENV=production 
    RAILS_GROUPS=assets 
    assets:precompile
Run Code Online (Sandbox Code Playgroud)

我有这个错误

couldn't find file 'jquery-ui'
  (in /home/umbrosus/.rvm/gems/ruby-1.9.3-p392@gancxadebebi/gems/activeadmin-0.5.1/app/assets/javascripts/active_admin/base.js:2)
Run Code Online (Sandbox Code Playgroud)

在它运行良好之前,但我尝试更新到0.6然后我开始出现此错误.我回到0.5.1,错误仍然存​​在.我做坏事吗?

谢谢

capistrano assets ruby-on-rails activeadmin

43
推荐指数
3
解决办法
2万
查看次数

使用Capistrano将Rails应用程序部署到多个服务器 - 最佳实践

我有一个需要部署到3台服务器的rails应用程序 - machine1.com,machine2.com和machine3.com.我希望能够一次将它部署到所有机器上,并且每个机器都可以单独部署.有人可以用骨架Capistrano配置文件/配方帮助我吗?它应该在deploy.rb中还是应该在machine1.rb等中分解?

我认为我在正确的轨道上让Capistrano接受命令行参数,但是当我尝试在命名空间中设置角色时它会窒息.我将传递'hosts = 1,2,3'作为参数并在分配命令并进入每个do | host之后将app/web/db设置为"machine#{host} .com" | {} ...

无论如何,除了创建4个不同的deploy.rb文件并在每次运行cap:deploy之前重命名它之外,我很难过.我希望能够做到以下几点:

cap deploy:machine1:latest_version_from_svn
cap deploy:all_machines:latest:version_from_svn
Run Code Online (Sandbox Code Playgroud)

只是不知道它是否应该全部在deploy.rb中与命名空间分开,或者是否应该分成多个*deploy**.rb文件.

capistrano ruby-on-rails

42
推荐指数
1
解决办法
2万
查看次数

如何从另一个调用一个Capistrano任务?

如何从另一个调用一个Capistrano任务?

例如:

task :foo do
  # stuff
end

task :bar do
  # INVOKE :foo
end
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails

42
推荐指数
3
解决办法
2万
查看次数

Capistrano和环境变量

我已经切换到使用环境变量进行配置,它运行得很好 - 除非我必须使用capistrano部署或运行​​任务.

Capistrano 3似乎执行每个命令前缀,/usr/bin/env它会删除我设置的任何环境变量.bashrc.

编辑 - 在进行更多的研究时,这可能不是问题,问题可能是因为capistrano作为非登录,非交互式shell执行而且不加载.bashrc.bash_profile.但仍然陷入困境.

当capistrano执行任务时,确保设置环境变量的最佳方法是什么?

capistrano ruby-on-rails environment-variables capistrano3

42
推荐指数
3
解决办法
3万
查看次数