Skip to content

Instantly share code, notes, and snippets.

@nagachika
Created September 4, 2012 18:05
Show Gist options
  • Save nagachika/3624287 to your computer and use it in GitHub Desktop.
Save nagachika/3624287 to your computer and use it in GitHub Desktop.
# bundle exec を使うと期待した通りに動作する
$ bundle install --path vendor/bundle
$ bundle exec cap -s server=myserver sample_stage sample
* 02:58:34 == Currently executing `sample_stage'
[:server, "myserver"]
#<Capistrano::Role:0x00000100c4e090 @static_servers=[], @dynamic_servers=[]>
triggering start callbacks for `sample'
* 02:58:34 == Currently executing `multistage:ensure'
* 02:58:34 == Currently executing `sample'
[:server, "myserver"]
#<Capistrano::Role:0x00000100c4de10 @static_servers=[myserver], @dynamic_servers=[]>
# bundle exec 経由でないと sample_stage.rb が2回ロードされる
$ cap -s server=myserver sample_stage sample
triggering load callbacks
* 03:00:44 == Currently executing `sample_stage'
[:server, "default-server"]
#<Capistrano::Role:0x00000100c3c228 @static_servers=[], @dynamic_servers=[]>
* 03:00:44 == Currently executing `sample_stage'
[:server, "myserver"]
#<Capistrano::Role:0x00000100c3c228 @static_servers=[], @dynamic_servers=[]>
triggering start callbacks for `sample'
* 03:00:44 == Currently executing `multistage:ensure'
* 03:00:44 == Currently executing `sample'
[:server, "myserver"]
#<Capistrano::Role:0x00000100c45260 @static_servers=[default-server, myserver], @dynamic_servers=[]>
↑結果として server にデフォルト値が追加されてしまう
load 'deploy' if respond_to?(:namespace)
load 'config/deploy'
require "capistrano_colors"
set :stages, %w(sample_stage)
set :default_stage, "sample_stage"
require 'capistrano/ext/multistage'
desc "sample task"
task :sample do
p [:server, fetch(:server)]
p roles[:app]
end
# -*- coding: utf-8 -*-
source 'https://rubygems.org'
gem 'capistrano'
gem 'capistrano_colors'
gem 'capistrano-ext'
GEM
remote: https://rubygems.org/
specs:
capistrano (2.13.3)
highline
net-scp (>= 1.0.0)
net-sftp (>= 2.0.0)
net-ssh (>= 2.0.14)
net-ssh-gateway (>= 1.1.0)
capistrano-ext (1.2.1)
capistrano (>= 1.0.0)
capistrano_colors (0.5.5)
highline (1.6.14)
net-scp (1.0.4)
net-ssh (>= 1.99.1)
net-sftp (2.0.5)
net-ssh (>= 2.0.9)
net-ssh (2.5.2)
net-ssh-gateway (1.1.0)
net-ssh (>= 1.99.1)
PLATFORMS
ruby
DEPENDENCIES
capistrano
capistrano-ext
capistrano_colors
server = fetch(:server, "default-server")
p [:server, server]
p roles[:server_each]
#roles[:app].clear
role :app, server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment