standup 0.5.14 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rbenv-version +1 -0
- data/lib/standup/remoting.rb +5 -16
- data/lib/standup/version.rb +1 -1
- data/scripts/passenger/{nginx.conf → nginx.conf.erb} +2 -2
- data/scripts/passenger.rb +6 -2
- data/scripts/ruby.rb +50 -57
- data/scripts/webapp.rb +4 -4
- metadata +21 -27
- data/scripts/ruby/rvmrc +0 -1
data/.rbenv-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.9.2-p290
|
data/lib/standup/remoting.rb
CHANGED
@@ -118,12 +118,12 @@ module Standup
|
|
118
118
|
def remote_command command
|
119
119
|
command = "#{@context[:prefix].strip} #{command}" if @context[:prefix].present?
|
120
120
|
command = "cd #{@context[:path]} && #{command}" if @context[:path].present?
|
121
|
-
command = "
|
121
|
+
command = "bash -c \"#{command.gsub(/"/, '\"')}\""
|
122
122
|
|
123
|
-
if @context[:
|
124
|
-
command = "sudo -u #{@context[:user]} #{command}"
|
125
|
-
elsif @context[:sudo]
|
123
|
+
if @context[:sudo]
|
126
124
|
command = "sudo #{command}"
|
125
|
+
elsif @context[:user].present?
|
126
|
+
command = "sudo -u #{@context[:user]} #{command}"
|
127
127
|
end
|
128
128
|
|
129
129
|
command
|
@@ -133,10 +133,6 @@ module Standup
|
|
133
133
|
with_context(context) { raw_exec(remote_command(command), timeout_sec) }
|
134
134
|
end
|
135
135
|
|
136
|
-
def shell_command
|
137
|
-
rvm_installed? ? 'rvm-shell' : 'bash'
|
138
|
-
end
|
139
|
-
|
140
136
|
def sudo command = nil, &block
|
141
137
|
block = Proc.new { exec command } unless block_given?
|
142
138
|
with_context(:sudo => true, &block)
|
@@ -152,7 +148,7 @@ module Standup
|
|
152
148
|
tmp_dirname = "/tmp/standup_tmp_#{rand 10000}"
|
153
149
|
exec "mkdir -m 777 #{tmp_dirname}"
|
154
150
|
result = in_dir tmp_dirname, &block
|
155
|
-
|
151
|
+
sudo "rm -rf #{tmp_dirname}"
|
156
152
|
result
|
157
153
|
end
|
158
154
|
|
@@ -200,13 +196,6 @@ module Standup
|
|
200
196
|
@ssh = nil
|
201
197
|
end
|
202
198
|
|
203
|
-
def rvm_installed?
|
204
|
-
unless instance_variable_defined? :@rvm_installed
|
205
|
-
@rvm_installed = !!(raw_exec('which rvm') =~ /rvm/)
|
206
|
-
end
|
207
|
-
@rvm_installed
|
208
|
-
end
|
209
|
-
|
210
199
|
protected
|
211
200
|
|
212
201
|
def ssh
|
data/lib/standup/version.rb
CHANGED
@@ -8,8 +8,8 @@ events {
|
|
8
8
|
}
|
9
9
|
|
10
10
|
http {
|
11
|
-
passenger_root <%= scripts.ruby.
|
12
|
-
passenger_ruby
|
11
|
+
passenger_root <%= scripts.ruby.gems_dir %>/passenger-<%= params.version %>;
|
12
|
+
passenger_ruby /usr/local/bin/ruby;
|
13
13
|
|
14
14
|
include mime.types;
|
15
15
|
default_type application/octet-stream;
|
data/scripts/passenger.rb
CHANGED
@@ -1,15 +1,19 @@
|
|
1
1
|
Standup.script :node do
|
2
|
+
self.default_params = {
|
3
|
+
:version => '3.0.9'
|
4
|
+
}
|
5
|
+
|
2
6
|
def run
|
3
7
|
scripts.ec2.open_port 80, 443
|
4
8
|
|
5
|
-
if install_gem('passenger',
|
9
|
+
if install_gem('passenger', params.version) || !file_exists?('/opt/nginx/sbin/nginx')
|
6
10
|
install_package 'libcurl4-openssl-dev'
|
7
11
|
sudo 'passenger-install-nginx-module --auto --auto-download --prefix=/opt/nginx'
|
8
12
|
end
|
9
13
|
|
10
14
|
sudo 'mkdir -p /opt/nginx/conf/servers'
|
11
15
|
|
12
|
-
with_processed_file script_file('nginx.conf') do |file|
|
16
|
+
with_processed_file script_file('nginx.conf.erb') do |file|
|
13
17
|
upload file,
|
14
18
|
:to =>'/opt/nginx/conf/nginx.conf',
|
15
19
|
:sudo => true
|
data/scripts/ruby.rb
CHANGED
@@ -1,69 +1,62 @@
|
|
1
1
|
Standup.script :node do
|
2
2
|
def run
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
3
|
+
install_packages 'build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev'
|
4
|
+
build_ruby
|
5
|
+
setup_env
|
6
|
+
end
|
7
|
+
|
8
|
+
def build_ruby
|
9
|
+
return if exec('ruby -v') =~ /#{version.gsub(/-/, '')}/
|
10
|
+
|
11
|
+
install_ruby_build
|
12
|
+
|
13
|
+
sudo "ruby-build #{version} /usr/local"
|
14
|
+
end
|
15
|
+
|
16
|
+
def install_ruby_build
|
17
|
+
return if file_exists? '/usr/local/bin/ruby-build'
|
18
|
+
in_temp_dir do |path|
|
19
|
+
exec 'git clone git://github.com/sstephenson/ruby-build.git'
|
20
|
+
in_dir "#{path}/ruby-build" do
|
21
|
+
sudo './install.sh'
|
22
|
+
end
|
23
23
|
end
|
24
24
|
end
|
25
|
-
|
26
|
-
def
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
|
26
|
+
def setup_env
|
27
|
+
upload script_file('gemrc'),
|
28
|
+
:to => '/etc/gemrc',
|
29
|
+
:sudo => true
|
30
|
+
end
|
31
|
+
|
32
|
+
def gems_dir
|
33
|
+
"#{exec('gem environment gemdir').strip}/gems"
|
33
34
|
end
|
34
|
-
|
35
|
+
|
35
36
|
def version
|
36
37
|
@version ||= begin
|
37
|
-
|
38
|
-
|
39
|
-
if
|
40
|
-
|
41
|
-
params.version
|
42
|
-
else
|
43
|
-
puts "Cannot fine ruby version declaration neither in .rvmrc file or ruby script param"
|
44
|
-
raise Exception.new('Cannot find ruby version declaration')
|
45
|
-
end
|
38
|
+
versions = ([params.version] + rbenv_versions + rvm_versions).compact.uniq
|
39
|
+
|
40
|
+
if versions.size == 1
|
41
|
+
versions.first
|
46
42
|
else
|
47
|
-
|
48
|
-
if (rvm_declaration = IO.read(file)).index('rvm') == 0
|
49
|
-
rvm_declaration.split(' ').second.split('@').first
|
50
|
-
else
|
51
|
-
puts "Cannot parse .rvmrc declaration:\n#{rvm_declaration}"
|
52
|
-
raise Exception.new("Cannot parse #{file}")
|
53
|
-
end
|
54
|
-
end.uniq
|
55
|
-
|
56
|
-
if declarations.size > 1
|
57
|
-
puts "Found different ruby version declarations #{declarations}"
|
58
|
-
if params.version.present?
|
59
|
-
params.version
|
60
|
-
else
|
61
|
-
raise Exception.new('Several ruby version declarations found')
|
62
|
-
end
|
63
|
-
else
|
64
|
-
declarations.first
|
65
|
-
end
|
43
|
+
raise "Found different ruby version declarations #{versions}"
|
66
44
|
end
|
67
45
|
end
|
68
46
|
end
|
47
|
+
|
48
|
+
def rvm_versions
|
49
|
+
Dir['**/.rvmrc'].map do |f|
|
50
|
+
if (rvm_declaration = IO.read(f)).index('rvm') == 0
|
51
|
+
rvm_declaration.split(' ').second.split('@').first
|
52
|
+
else
|
53
|
+
puts "Cannot parse .rvmrc declaration:\n#{rvm_declaration}"
|
54
|
+
raise Exception.new("Cannot parse #{f}")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def rbenv_versions
|
60
|
+
Dir['**/.rbenv-version'].map{|f| IO.read(f).strip}
|
61
|
+
end
|
69
62
|
end
|
data/scripts/webapp.rb
CHANGED
@@ -80,14 +80,14 @@ Standup.script :node do
|
|
80
80
|
with_context(:user => 'www-data', :path => app_path) do
|
81
81
|
case params.gem_manager.to_sym
|
82
82
|
when :bundler
|
83
|
-
install_gem 'bundler'
|
84
|
-
|
83
|
+
install_gem 'bundler', '1.0.18'
|
84
|
+
sudo 'bundle install'
|
85
85
|
when :rake_gems
|
86
86
|
cmd = "RAILS_ENV=#{params.rails_env} rake gems:install"
|
87
|
-
output =
|
87
|
+
output = sudo cmd
|
88
88
|
if output.match(/Missing the Rails ([\d\.]+) gem/) || output.match(/RubyGem version error: rails\([\d\.]+ not = ([\d\.]+)\)/)
|
89
89
|
install_gem 'rails', $1
|
90
|
-
|
90
|
+
sudo cmd
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: standup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-09-
|
14
|
+
date: 2011-09-14 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: trollop
|
18
|
-
requirement: &
|
18
|
+
requirement: &70308367915600 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '1.16'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70308367915600
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: i18n
|
29
|
-
requirement: &
|
29
|
+
requirement: &70308367914900 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: 0.5.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70308367914900
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: activesupport
|
40
|
-
requirement: &
|
40
|
+
requirement: &70308367914100 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '3.0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70308367914100
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: settingslogic
|
51
|
-
requirement: &
|
51
|
+
requirement: &70308367913640 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '2.0'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70308367913640
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: amazon-ec2
|
62
|
-
requirement: &
|
62
|
+
requirement: &70308367913160 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0.9'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70308367913160
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: aws-s3
|
73
|
-
requirement: &
|
73
|
+
requirement: &70308367912480 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: '0.5'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70308367912480
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: net-ssh
|
84
|
-
requirement: &
|
84
|
+
requirement: &70308367911700 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ! '>='
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: '2.0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70308367911700
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: highline
|
95
|
-
requirement: &
|
95
|
+
requirement: &70308367911040 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ! '>='
|
@@ -100,7 +100,7 @@ dependencies:
|
|
100
100
|
version: 1.5.2
|
101
101
|
type: :runtime
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70308367911040
|
104
104
|
description: ''
|
105
105
|
email:
|
106
106
|
- ilia@flamefork.ru
|
@@ -111,6 +111,7 @@ extensions: []
|
|
111
111
|
extra_rdoc_files: []
|
112
112
|
files:
|
113
113
|
- .gitignore
|
114
|
+
- .rbenv-version
|
114
115
|
- .rvmrc
|
115
116
|
- Gemfile
|
116
117
|
- LICENSE
|
@@ -156,7 +157,7 @@ files:
|
|
156
157
|
- scripts/mysql.rb
|
157
158
|
- scripts/passenger.rb
|
158
159
|
- scripts/passenger/nginx
|
159
|
-
- scripts/passenger/nginx.conf
|
160
|
+
- scripts/passenger/nginx.conf.erb
|
160
161
|
- scripts/passenger/nginx_monit.conf
|
161
162
|
- scripts/postgresql.rb
|
162
163
|
- scripts/postgresql/pg_hba.conf
|
@@ -172,7 +173,6 @@ files:
|
|
172
173
|
- scripts/resque/resque_monit.conf
|
173
174
|
- scripts/ruby.rb
|
174
175
|
- scripts/ruby/gemrc
|
175
|
-
- scripts/ruby/rvmrc
|
176
176
|
- scripts/setup.rb
|
177
177
|
- scripts/shell.rb
|
178
178
|
- scripts/status.rb
|
@@ -196,21 +196,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
196
196
|
- - ! '>='
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: '0'
|
199
|
-
segments:
|
200
|
-
- 0
|
201
|
-
hash: 2029569967480200357
|
202
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
200
|
none: false
|
204
201
|
requirements:
|
205
202
|
- - ! '>='
|
206
203
|
- !ruby/object:Gem::Version
|
207
204
|
version: '0'
|
208
|
-
segments:
|
209
|
-
- 0
|
210
|
-
hash: 2029569967480200357
|
211
205
|
requirements: []
|
212
206
|
rubyforge_project: standup
|
213
|
-
rubygems_version: 1.8.
|
207
|
+
rubygems_version: 1.8.10
|
214
208
|
signing_key:
|
215
209
|
specification_version: 3
|
216
210
|
summary: Standup is an application deployment and infrastructure management tool for
|
data/scripts/ruby/rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export rvm_path=/usr/local/rvm
|