standup 0.3.15 → 0.3.16
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/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/standup/node.rb +1 -1
- data/lib/standup/remoting.rb +2 -2
- data/lib/standup/scripts/base.rb +4 -2
- data/lib/standup.rb +1 -1
- data/scripts/appconsole.rb +1 -1
- data/scripts/basics.rb +1 -0
- data/scripts/mysql.rb +0 -1
- data/scripts/shell.rb +1 -1
- data/scripts/update.rb +25 -6
- data/scripts/webapp.rb +29 -11
- data/standup.gemspec +6 -4
- metadata +34 -18
data/Rakefile
CHANGED
@@ -11,6 +11,7 @@ begin
|
|
11
11
|
gem.authors = ['Ilia Ablamonov', 'Artem Orlov', 'Cloud Castle Inc.']
|
12
12
|
|
13
13
|
gem.add_dependency 'trollop', '>= 1.16'
|
14
|
+
gem.add_dependency 'i18n', '>= 0.5.0'
|
14
15
|
gem.add_dependency 'activesupport', '>= 3.0'
|
15
16
|
gem.add_dependency 'settingslogic', '>= 2.0'
|
16
17
|
gem.add_dependency 'amazon-ec2', '>= 0.9'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.16
|
data/lib/standup/node.rb
CHANGED
@@ -26,7 +26,7 @@ module Standup
|
|
26
26
|
|
27
27
|
def ssh_string
|
28
28
|
return '' unless instance
|
29
|
-
"ssh -i #{Settings.aws.keypair_file} -q -o StrictHostKeyChecking=no #{scripts.ec2.params.ssh_user}@#{instance.external_ip}"
|
29
|
+
"ssh -i #{Settings.aws.keypair_file} -C -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null #{scripts.ec2.params.ssh_user}@#{instance.external_ip}"
|
30
30
|
end
|
31
31
|
|
32
32
|
def params
|
data/lib/standup/remoting.rb
CHANGED
@@ -77,7 +77,7 @@ module Standup
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def su_exec user, command
|
80
|
-
sudo "-u #{user}
|
80
|
+
sudo "-u #{user} #{command}"
|
81
81
|
end
|
82
82
|
|
83
83
|
def in_temp_dir &block
|
@@ -144,7 +144,7 @@ module Standup
|
|
144
144
|
def rsync source, destination, sudo
|
145
145
|
command = [
|
146
146
|
'rsync -rlptDzP --delete',
|
147
|
-
"-e 'ssh -i #{@keypair_file} -q -o StrictHostKeyChecking=no'",
|
147
|
+
"-e 'ssh -i #{@keypair_file} -C -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'",
|
148
148
|
("--rsync-path='sudo rsync'" if sudo),
|
149
149
|
[*source].join(' '),
|
150
150
|
destination
|
data/lib/standup/scripts/base.rb
CHANGED
@@ -67,8 +67,10 @@ module Standup
|
|
67
67
|
script_description = description
|
68
68
|
script_name = name
|
69
69
|
opt_parser = Trollop::Parser.new do
|
70
|
-
|
71
|
-
|
70
|
+
if script_description
|
71
|
+
banner script_description
|
72
|
+
banner ''
|
73
|
+
end
|
72
74
|
banner 'Usage:'
|
73
75
|
banner " standup #{script_name} [options] #{arg_pattern}"
|
74
76
|
banner ''
|
data/lib/standup.rb
CHANGED
data/scripts/appconsole.rb
CHANGED
@@ -2,6 +2,6 @@ Standup.script :node do
|
|
2
2
|
self.description = 'Run remote Rails application console'
|
3
3
|
|
4
4
|
def run
|
5
|
-
scripts.shell.make_shell "cd #{scripts.webapp.app_path} && rails console #{scripts.webapp.params.rails_env}"
|
5
|
+
scripts.shell.make_shell "cd #{scripts.webapp.app_path} && sudo -u www-data rails console #{scripts.webapp.params.rails_env}"
|
6
6
|
end
|
7
7
|
end
|
data/scripts/basics.rb
CHANGED
data/scripts/mysql.rb
CHANGED
data/scripts/shell.rb
CHANGED
@@ -16,6 +16,6 @@ Standup.script :node do
|
|
16
16
|
|
17
17
|
def ssh_string
|
18
18
|
return '' unless instance
|
19
|
-
"ssh -i #{Standup::Settings.aws.keypair_file} #{params.extra_options} #{scripts.ec2.params.ssh_user}@#{instance.external_ip}"
|
19
|
+
"ssh -i #{Standup::Settings.aws.keypair_file} -C -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null #{params.extra_options} #{scripts.ec2.params.ssh_user}@#{instance.external_ip}"
|
20
20
|
end
|
21
21
|
end
|
data/scripts/update.rb
CHANGED
@@ -4,13 +4,32 @@ Standup.script :node do
|
|
4
4
|
def run
|
5
5
|
in_dir scripts.webapp.app_path do
|
6
6
|
sudo 'chown -R ubuntu:ubuntu .'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
|
8
|
+
pull_changes
|
9
|
+
|
10
|
+
update_webapp
|
11
|
+
|
11
12
|
sudo 'chown -R www-data:www-data .'
|
12
|
-
|
13
|
-
|
13
|
+
|
14
|
+
restart_webapp
|
14
15
|
end
|
15
16
|
end
|
17
|
+
|
18
|
+
protected
|
19
|
+
|
20
|
+
def pull_changes
|
21
|
+
exec 'git pull'
|
22
|
+
exec "git checkout #{scripts.webapp.params.git_branch}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def update_webapp
|
26
|
+
scripts.webapp.install_gems
|
27
|
+
sudo "RAILS_ENV=#{scripts.webapp.params.rails_env} rake db:migrate"
|
28
|
+
end
|
29
|
+
|
30
|
+
def restart_webapp
|
31
|
+
sudo 'mkdir -p tmp'
|
32
|
+
sudo 'touch tmp/restart.txt'
|
33
|
+
scripts.delayed_job.restart if scripts.setup.has_script? 'delayed_job'
|
34
|
+
end
|
16
35
|
end
|
data/scripts/webapp.rb
CHANGED
@@ -2,30 +2,37 @@ Standup.script :node do
|
|
2
2
|
self.default_params = {
|
3
3
|
:rails_env => 'production',
|
4
4
|
:name => 'webapp',
|
5
|
-
:server_name => '_'
|
5
|
+
:server_name => '_',
|
6
|
+
:git_branch => 'master',
|
7
|
+
:gem_manager => :bundler
|
6
8
|
}
|
7
9
|
|
8
10
|
def run
|
9
11
|
install_package 'git-core'
|
10
|
-
install_gem 'bundler'
|
11
12
|
install_package params.additional_packages if params.additional_packages.present?
|
12
13
|
|
13
|
-
unless file_exists?
|
14
|
-
sudo "mkdir -p #{
|
14
|
+
unless file_exists? app_path
|
15
|
+
sudo "mkdir -p #{app_path}"
|
15
16
|
end
|
16
17
|
|
17
|
-
sudo "chown -R ubuntu:ubuntu #{
|
18
|
+
sudo "chown -R ubuntu:ubuntu #{app_path}"
|
18
19
|
|
19
20
|
ensure_github_access
|
20
21
|
|
21
|
-
unless file_exists? "#{
|
22
|
-
exec "rm -rf #{
|
23
|
-
exec "git clone git@github.com:#{github_repo}.git #{
|
22
|
+
unless file_exists? "#{app_path}/.git"
|
23
|
+
exec "rm -rf #{app_path}/*"
|
24
|
+
exec "git clone git@github.com:#{github_repo}.git #{app_path}"
|
24
25
|
end
|
26
|
+
|
27
|
+
in_dir app_path do
|
28
|
+
exec "git checkout #{params.git_branch}"
|
29
|
+
end
|
30
|
+
|
31
|
+
install_gems
|
25
32
|
|
26
33
|
bootstrap_db
|
27
34
|
|
28
|
-
sudo "chown -R www-data:www-data #{
|
35
|
+
sudo "chown -R www-data:www-data #{app_path}"
|
29
36
|
|
30
37
|
with_processed_file script_file('webapp.conf') do |file|
|
31
38
|
scripts.passenger.add_server_conf file, "#{params.name}.conf"
|
@@ -53,6 +60,18 @@ Standup.script :node do
|
|
53
60
|
def server_name
|
54
61
|
server_names.split(' ').first
|
55
62
|
end
|
63
|
+
|
64
|
+
def install_gems
|
65
|
+
in_dir app_path do
|
66
|
+
case params.gem_manager.to_sym
|
67
|
+
when :bundler
|
68
|
+
install_gem 'bundler'
|
69
|
+
exec 'bundle install'
|
70
|
+
when :rake_gems
|
71
|
+
exec "RAILS_ENV=#{params.rails_env} rake gems:install"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
56
75
|
|
57
76
|
protected
|
58
77
|
|
@@ -74,8 +93,7 @@ Standup.script :node do
|
|
74
93
|
|
75
94
|
def bootstrap_db
|
76
95
|
if db.create_database db_name
|
77
|
-
in_dir
|
78
|
-
sudo 'bundle install'
|
96
|
+
in_dir app_path do
|
79
97
|
exec "RAILS_ENV=#{params.rails_env} rake db:schema:load"
|
80
98
|
exec "RAILS_ENV=#{params.rails_env} rake db:seed"
|
81
99
|
end
|
data/standup.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{standup}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.16"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ilia Ablamonov", "Artem Orlov", "Cloud Castle Inc."]
|
12
|
-
s.date = %q{2011-01-
|
12
|
+
s.date = %q{2011-01-14}
|
13
13
|
s.default_executable = %q{standup}
|
14
14
|
s.email = %q{ilia@flamefork.ru}
|
15
15
|
s.executables = ["standup"]
|
@@ -78,15 +78,15 @@ Gem::Specification.new do |s|
|
|
78
78
|
]
|
79
79
|
s.homepage = %q{https://github.com/cloudcastle/standup}
|
80
80
|
s.require_paths = ["lib"]
|
81
|
-
s.rubygems_version = %q{1.
|
81
|
+
s.rubygems_version = %q{1.4.2}
|
82
82
|
s.summary = %q{Standup is an application deployment and infrastructure management tool for Rails and Amazon EC2}
|
83
83
|
|
84
84
|
if s.respond_to? :specification_version then
|
85
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
86
85
|
s.specification_version = 3
|
87
86
|
|
88
87
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
89
88
|
s.add_runtime_dependency(%q<trollop>, [">= 1.16"])
|
89
|
+
s.add_runtime_dependency(%q<i18n>, [">= 0.5.0"])
|
90
90
|
s.add_runtime_dependency(%q<activesupport>, [">= 3.0"])
|
91
91
|
s.add_runtime_dependency(%q<settingslogic>, [">= 2.0"])
|
92
92
|
s.add_runtime_dependency(%q<amazon-ec2>, [">= 0.9"])
|
@@ -95,6 +95,7 @@ Gem::Specification.new do |s|
|
|
95
95
|
s.add_runtime_dependency(%q<highline>, [">= 1.5.2"])
|
96
96
|
else
|
97
97
|
s.add_dependency(%q<trollop>, [">= 1.16"])
|
98
|
+
s.add_dependency(%q<i18n>, [">= 0.5.0"])
|
98
99
|
s.add_dependency(%q<activesupport>, [">= 3.0"])
|
99
100
|
s.add_dependency(%q<settingslogic>, [">= 2.0"])
|
100
101
|
s.add_dependency(%q<amazon-ec2>, [">= 0.9"])
|
@@ -104,6 +105,7 @@ Gem::Specification.new do |s|
|
|
104
105
|
end
|
105
106
|
else
|
106
107
|
s.add_dependency(%q<trollop>, [">= 1.16"])
|
108
|
+
s.add_dependency(%q<i18n>, [">= 0.5.0"])
|
107
109
|
s.add_dependency(%q<activesupport>, [">= 3.0"])
|
108
110
|
s.add_dependency(%q<settingslogic>, [">= 2.0"])
|
109
111
|
s.add_dependency(%q<amazon-ec2>, [">= 0.9"])
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: standup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 51
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 16
|
10
|
+
version: 0.3.16
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ilia Ablamonov
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-01-
|
20
|
+
date: 2011-01-14 00:00:00 +03:00
|
21
21
|
default_executable: standup
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -36,9 +36,25 @@ dependencies:
|
|
36
36
|
type: :runtime
|
37
37
|
version_requirements: *id001
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
39
|
+
name: i18n
|
40
40
|
prerelease: false
|
41
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 11
|
47
|
+
segments:
|
48
|
+
- 0
|
49
|
+
- 5
|
50
|
+
- 0
|
51
|
+
version: 0.5.0
|
52
|
+
type: :runtime
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: activesupport
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
58
|
none: false
|
43
59
|
requirements:
|
44
60
|
- - ">="
|
@@ -49,11 +65,11 @@ dependencies:
|
|
49
65
|
- 0
|
50
66
|
version: "3.0"
|
51
67
|
type: :runtime
|
52
|
-
version_requirements: *
|
68
|
+
version_requirements: *id003
|
53
69
|
- !ruby/object:Gem::Dependency
|
54
70
|
name: settingslogic
|
55
71
|
prerelease: false
|
56
|
-
requirement: &
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
57
73
|
none: false
|
58
74
|
requirements:
|
59
75
|
- - ">="
|
@@ -64,11 +80,11 @@ dependencies:
|
|
64
80
|
- 0
|
65
81
|
version: "2.0"
|
66
82
|
type: :runtime
|
67
|
-
version_requirements: *
|
83
|
+
version_requirements: *id004
|
68
84
|
- !ruby/object:Gem::Dependency
|
69
85
|
name: amazon-ec2
|
70
86
|
prerelease: false
|
71
|
-
requirement: &
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
72
88
|
none: false
|
73
89
|
requirements:
|
74
90
|
- - ">="
|
@@ -79,11 +95,11 @@ dependencies:
|
|
79
95
|
- 9
|
80
96
|
version: "0.9"
|
81
97
|
type: :runtime
|
82
|
-
version_requirements: *
|
98
|
+
version_requirements: *id005
|
83
99
|
- !ruby/object:Gem::Dependency
|
84
100
|
name: aws-s3
|
85
101
|
prerelease: false
|
86
|
-
requirement: &
|
102
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
87
103
|
none: false
|
88
104
|
requirements:
|
89
105
|
- - ">="
|
@@ -94,11 +110,11 @@ dependencies:
|
|
94
110
|
- 5
|
95
111
|
version: "0.5"
|
96
112
|
type: :runtime
|
97
|
-
version_requirements: *
|
113
|
+
version_requirements: *id006
|
98
114
|
- !ruby/object:Gem::Dependency
|
99
115
|
name: net-ssh
|
100
116
|
prerelease: false
|
101
|
-
requirement: &
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
102
118
|
none: false
|
103
119
|
requirements:
|
104
120
|
- - ">="
|
@@ -109,11 +125,11 @@ dependencies:
|
|
109
125
|
- 0
|
110
126
|
version: "2.0"
|
111
127
|
type: :runtime
|
112
|
-
version_requirements: *
|
128
|
+
version_requirements: *id007
|
113
129
|
- !ruby/object:Gem::Dependency
|
114
130
|
name: highline
|
115
131
|
prerelease: false
|
116
|
-
requirement: &
|
132
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
117
133
|
none: false
|
118
134
|
requirements:
|
119
135
|
- - ">="
|
@@ -125,7 +141,7 @@ dependencies:
|
|
125
141
|
- 2
|
126
142
|
version: 1.5.2
|
127
143
|
type: :runtime
|
128
|
-
version_requirements: *
|
144
|
+
version_requirements: *id008
|
129
145
|
description:
|
130
146
|
email: ilia@flamefork.ru
|
131
147
|
executables:
|
@@ -223,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
239
|
requirements: []
|
224
240
|
|
225
241
|
rubyforge_project:
|
226
|
-
rubygems_version: 1.
|
242
|
+
rubygems_version: 1.4.2
|
227
243
|
signing_key:
|
228
244
|
specification_version: 3
|
229
245
|
summary: Standup is an application deployment and infrastructure management tool for Rails and Amazon EC2
|