class EbDeployer::DeploymentStrategy::BlueOnly
Public Class Methods
new(component)
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 4 def initialize(component) @component = component end
Public Instance Methods
deploy(version_label, env_settings, inactive_settings=[])
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 15 def deploy(version_label, env_settings, inactive_settings=[]) if !ebenvs.any?(&method(:active_ebenv?)) ebenv('a', @component.cname_prefix). deploy(version_label, env_settings) return end inactive_ebenv = ebenvs.reject(&method(:active_ebenv?)).first inactive_ebenv.deploy(version_label, env_settings) end
test_compatibility(env_create_options)
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 8 def test_compatibility(env_create_options) tier = env_create_options[:tier] if tier && tier.downcase == 'worker' raise "Blue only deployment is not supported for Worker tier" end end
Private Instance Methods
active_ebenv?(ebenv)
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 28 def active_ebenv?(ebenv) ebenv.cname_prefix == @component.cname_prefix end
ebenv(suffix, cname_prefix=nil)
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 36 def ebenv(suffix, cname_prefix=nil) @component.new_eb_env(suffix, cname_prefix || inactive_cname_prefix) end
ebenvs()
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 32 def ebenvs [ebenv('a'), ebenv('b')] end
inactive_cname_prefix()
click to toggle source
# File lib/eb_deployer/deployment_strategy/blue_only.rb, line 40 def inactive_cname_prefix "#{@component.cname_prefix}-inactive" end