• μϯϩʔυ͠ஔɺ࠶ىಈ͢Δ͚ͩͰσϓϩΠྃ • S3ͷՄ༻ੑ99.99ˋ • In place/All at once • Blue/GreenσϓϩΠͩͱΈ͕ෳࡶԽ͢ΔͨΊҰ୴ݟૹΓ • One by one(1ͣͭ)ͩͱ͕͔͔࣌ؒΔ • ϗετͷొɾআࣗಈతʹߦ͍͍ͨ 23/64
do |role| manifest_file = "update_code_#{application}_#{version}.yml" capture "consul event -service=role -tag=#{role} -name=deploy_#{application} #{manifest_file}" end puts 'Finished(Not released yet!)' end end
do on_rollback do rollback end roles.split(',').each do |role| manifest_file = "deploy_#{application}_#{role}_#{version}.yml" capture "consul event -service=role -tag=#{role} -name=deploy_#{application} #{manifest_file}" end unless check_event_success('release_failure') puts 'Release Failed!! & Starting rolling back.' exit 1 end puts 'Release finished.' end end end
roles: :build do # લճޭͨ͠σϓϩΠͷόʔδϣϯΛpreviousʹ͢Δ capture "curl -sS -X PUT -d '#{current_version}'http://127.0.0.1:8500/v1/kv/#{application}/previous" # ޭͨ͠σϓϩΠͷόʔδϣϯΛߋ৽͢Δ capture "curl -sS -X PUT -d '#{latest_version)}' http://127.0.0.1:8500/v1/kv/#{application}/current" end end