Top Level Namespace
Defined Under Namespace
Modules: CommitMetadataPersistable, Minitest, NdrDevSupport
Instance Method Summary collapse
- #add_target(env, name, app, port, app_user, is_web_server) ⇒ Object
- #release_config_for(env) ⇒ Object
- #target_ruby_version_for(env) ⇒ Object
Instance Method Details
#add_target(env, name, app, port, app_user, is_web_server) ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/ndr_dev_support/capistrano/ndr_model.rb', line 158 def add_target(env, name, app, port, app_user, is_web_server) desc "Deploy to #{env} service #{app_user || 'you'}@#{app}:#{port}" task(name) do set :name, name set :application_user, app_user role :app, app set :port, port set :webapp_deployment, is_web_server set :daemon_deployment, !is_web_server set :branch, release_config_for(env).fetch('branch') if exists?(:repository_branches) set :repository, fetch(:repository_branches) + fetch(:branch) end # Extract Ruby configuration if available: ruby_version = target_ruby_version_for(env) set :ruby, ruby_version if ruby_version end after name, 'ndr_dev_support:prepare' end |
#release_config_for(env) ⇒ Object
146 147 148 149 |
# File 'lib/ndr_dev_support/capistrano/ndr_model.rb', line 146 def release_config_for(env) branches = YAML.load_file('config/deployments.yml') branches.fetch(env.to_s) { raise 'Unknown release branch!' } end |
#target_ruby_version_for(env) ⇒ Object
151 152 153 154 155 156 |
# File 'lib/ndr_dev_support/capistrano/ndr_model.rb', line 151 def target_ruby_version_for(env) raw = release_config_for(env).fetch('ruby') match = raw.match(/\A(?<version>\d+\.\d+\.\d+)\z/) match ? match[:version] : raise('Unrecognized Ruby version!') end |