scripts/webapp.rb in standup-0.3.15 vs scripts/webapp.rb in standup-0.3.16
- old
+ new
@@ -1,33 +1,40 @@
Standup.script :node do
self.default_params = {
:rails_env => 'production',
:name => 'webapp',
- :server_name => '_'
+ :server_name => '_',
+ :git_branch => 'master',
+ :gem_manager => :bundler
}
def run
install_package 'git-core'
- install_gem 'bundler'
install_package params.additional_packages if params.additional_packages.present?
- unless file_exists? scripts.webapp.app_path
- sudo "mkdir -p #{scripts.webapp.app_path}"
+ unless file_exists? app_path
+ sudo "mkdir -p #{app_path}"
end
- sudo "chown -R ubuntu:ubuntu #{scripts.webapp.app_path}"
+ sudo "chown -R ubuntu:ubuntu #{app_path}"
ensure_github_access
- unless file_exists? "#{scripts.webapp.app_path}/.git"
- exec "rm -rf #{scripts.webapp.app_path}/*"
- exec "git clone git@github.com:#{github_repo}.git #{scripts.webapp.app_path}"
+ unless file_exists? "#{app_path}/.git"
+ exec "rm -rf #{app_path}/*"
+ exec "git clone git@github.com:#{github_repo}.git #{app_path}"
end
+
+ in_dir app_path do
+ exec "git checkout #{params.git_branch}"
+ end
+ install_gems
+
bootstrap_db
- sudo "chown -R www-data:www-data #{scripts.webapp.app_path}"
+ sudo "chown -R www-data:www-data #{app_path}"
with_processed_file script_file('webapp.conf') do |file|
scripts.passenger.add_server_conf file, "#{params.name}.conf"
end
end
@@ -51,10 +58,22 @@
end
def server_name
server_names.split(' ').first
end
+
+ def install_gems
+ in_dir app_path do
+ case params.gem_manager.to_sym
+ when :bundler
+ install_gem 'bundler'
+ exec 'bundle install'
+ when :rake_gems
+ exec "RAILS_ENV=#{params.rails_env} rake gems:install"
+ end
+ end
+ end
protected
def ensure_github_access
return unless exec('ssh -o StrictHostKeyChecking=no git@github.com') =~ /Permission denied \(publickey\)/
@@ -72,11 +91,10 @@
exec('cat ~/.ssh/id_rsa.pub').strip
end
def bootstrap_db
if db.create_database db_name
- in_dir scripts.webapp.app_path do
- sudo 'bundle install'
+ in_dir app_path do
exec "RAILS_ENV=#{params.rails_env} rake db:schema:load"
exec "RAILS_ENV=#{params.rails_env} rake db:seed"
end
end
end