engineyard-serverside 2.8.0.pre → 3.0.3
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.
- checksums.yaml +7 -0
- data/bin/engineyard-serverside-execute-service-hook +1 -1
- data/features/hook/running-a-deploy-hook.feature +277 -0
- data/features/hook/step_definitions/running-a-deploy-hook-steps.rb +200 -0
- data/features/step_definitions/command_steps.rb +8 -0
- data/features/step_definitions/version_steps.rb +5 -0
- data/features/support/env.rb +63 -0
- data/features/support/error_codes.rb +17 -0
- data/features/support/fs_helpers.rb +82 -0
- data/features/support/output_helpers.rb +7 -0
- data/features/support/runner.rb +41 -0
- data/features/version.feature +7 -0
- data/lib/engineyard-serverside.rb +2 -5
- data/lib/engineyard-serverside/callbacks/collection/base.rb +12 -5
- data/lib/engineyard-serverside/callbacks/distributor.rb +2 -7
- data/lib/engineyard-serverside/callbacks/executor/executable.rb +2 -0
- data/lib/engineyard-serverside/cli/app.rb +6 -0
- data/lib/engineyard-serverside/cli/workflows/calling_deploy_hooks.rb +1 -2
- data/lib/engineyard-serverside/configuration.rb +3 -3
- data/lib/engineyard-serverside/deploy.rb +4 -8
- data/lib/engineyard-serverside/shell.rb +38 -10
- data/lib/engineyard-serverside/version.rb +1 -1
- data/spec/engineyard-serverside/callbacks/collection/combined_spec.rb +232 -0
- data/spec/engineyard-serverside/callbacks/collection/deploy_hooks_spec.rb +170 -0
- data/spec/engineyard-serverside/callbacks/collection/service_hooks/collection_spec.rb +171 -0
- data/spec/engineyard-serverside/callbacks/collection/service_hooks/combined_spec.rb +174 -0
- data/spec/engineyard-serverside/callbacks/collection/service_hooks_spec.rb +31 -0
- data/spec/engineyard-serverside/callbacks/collection_spec.rb +49 -0
- data/spec/engineyard-serverside/callbacks/distributor/remote_spec.rb +135 -0
- data/spec/engineyard-serverside/callbacks/distributor/viability_filter_spec.rb +208 -0
- data/spec/engineyard-serverside/callbacks/distributor_spec.rb +43 -0
- data/spec/engineyard-serverside/callbacks/executor/executable_spec.rb +386 -0
- data/spec/engineyard-serverside/callbacks/executor/ruby/context_spec.rb +538 -0
- data/spec/engineyard-serverside/callbacks/executor/ruby/executor_spec.rb +313 -0
- data/spec/engineyard-serverside/callbacks/executor/ruby_spec.rb +35 -0
- data/spec/engineyard-serverside/callbacks/executor_spec.rb +45 -0
- data/spec/engineyard-serverside/callbacks_spec.rb +31 -0
- data/spec/engineyard-serverside/cli/workflows/base_spec.rb +237 -0
- data/spec/engineyard-serverside/cli/workflows/calling_deploy_hooks_spec.rb +65 -0
- data/spec/engineyard-serverside/cli/workflows/deploying_applications_spec.rb +61 -0
- data/spec/engineyard-serverside/cli/workflows/disabling_maintenance_spec.rb +61 -0
- data/spec/engineyard-serverside/cli/workflows/enabling_maintenance_spec.rb +61 -0
- data/spec/engineyard-serverside/cli/workflows/helpers_spec.rb +64 -0
- data/spec/engineyard-serverside/cli/workflows/rolling_back_applications_spec.rb +61 -0
- data/spec/engineyard-serverside/cli/workflows/showing_maintenance_status_spec.rb +60 -0
- data/spec/engineyard-serverside/cli/workflows_spec.rb +87 -0
- data/spec/engineyard-serverside/dependency_manager/base_spec.rb +139 -0
- data/spec/engineyard-serverside/paths_spec.rb +820 -0
- data/spec/engineyard-serverside/propagator_spec.rb +56 -0
- data/spec/engineyard-serverside/server_spec.rb +390 -0
- data/spec/engineyard-serverside/shell/helpers_spec.rb +98 -0
- data/spec/engineyard-serverside/shell/yieldio_spec.rb +33 -0
- data/spec/engineyard-serverside/shell_spec.rb +543 -0
- data/spec/engineyard-serverside/slug/distributor_spec.rb +199 -0
- data/spec/engineyard-serverside/slug/enabler_spec.rb +191 -0
- data/spec/engineyard-serverside/slug/failure_handler_spec.rb +114 -0
- data/spec/engineyard-serverside/slug/finalizer_spec.rb +191 -0
- data/spec/engineyard-serverside/slug/generator_spec.rb +82 -0
- data/spec/engineyard-serverside/slug/migrator_spec.rb +137 -0
- data/spec/engineyard-serverside/slug/restarter_spec.rb +226 -0
- data/spec/engineyard-serverside/slug/source/updater_spec.rb +710 -0
- data/spec/engineyard-serverside/slug/source_spec.rb +40 -0
- data/spec/engineyard-serverside/source_spec.rb +171 -0
- data/spec/railway_spec.rb +130 -0
- data/spec/result/failure_spec.rb +113 -0
- data/spec/result/success_spec.rb +109 -0
- data/spec/result_spec.rb +23 -0
- data/spec/spec_helper.rb +3 -349
- metadata +327 -602
- data/lib/vendor/json_pure/COPYING +0 -57
- data/lib/vendor/json_pure/GPL +0 -340
- data/lib/vendor/json_pure/README.rdoc +0 -358
- data/lib/vendor/json_pure/VERSION +0 -1
- data/lib/vendor/json_pure/lib/json.rb +0 -62
- data/lib/vendor/json_pure/lib/json/add/bigdecimal.rb +0 -28
- data/lib/vendor/json_pure/lib/json/add/complex.rb +0 -22
- data/lib/vendor/json_pure/lib/json/add/core.rb +0 -11
- data/lib/vendor/json_pure/lib/json/add/date.rb +0 -34
- data/lib/vendor/json_pure/lib/json/add/date_time.rb +0 -48
- data/lib/vendor/json_pure/lib/json/add/exception.rb +0 -31
- data/lib/vendor/json_pure/lib/json/add/ostruct.rb +0 -31
- data/lib/vendor/json_pure/lib/json/add/range.rb +0 -29
- data/lib/vendor/json_pure/lib/json/add/rational.rb +0 -22
- data/lib/vendor/json_pure/lib/json/add/regexp.rb +0 -30
- data/lib/vendor/json_pure/lib/json/add/struct.rb +0 -30
- data/lib/vendor/json_pure/lib/json/add/symbol.rb +0 -25
- data/lib/vendor/json_pure/lib/json/add/time.rb +0 -38
- data/lib/vendor/json_pure/lib/json/common.rb +0 -484
- data/lib/vendor/json_pure/lib/json/ext.rb +0 -21
- data/lib/vendor/json_pure/lib/json/generic_object.rb +0 -70
- data/lib/vendor/json_pure/lib/json/pure.rb +0 -21
- data/lib/vendor/json_pure/lib/json/pure/generator.rb +0 -522
- data/lib/vendor/json_pure/lib/json/pure/parser.rb +0 -359
- data/lib/vendor/json_pure/lib/json/version.rb +0 -8
- data/lib/vendor/multi_json/CHANGELOG.md +0 -121
- data/lib/vendor/multi_json/CONTRIBUTING.md +0 -46
- data/lib/vendor/multi_json/Gemfile +0 -31
- data/lib/vendor/multi_json/LICENSE.md +0 -20
- data/lib/vendor/multi_json/README.md +0 -105
- data/lib/vendor/multi_json/Rakefile +0 -12
- data/lib/vendor/multi_json/lib/multi_json.rb +0 -137
- data/lib/vendor/multi_json/lib/multi_json/adapters/gson.rb +0 -20
- data/lib/vendor/multi_json/lib/multi_json/adapters/json_common.rb +0 -35
- data/lib/vendor/multi_json/lib/multi_json/adapters/json_gem.rb +0 -12
- data/lib/vendor/multi_json/lib/multi_json/adapters/json_pure.rb +0 -12
- data/lib/vendor/multi_json/lib/multi_json/adapters/nsjsonserialization.rb +0 -35
- data/lib/vendor/multi_json/lib/multi_json/adapters/oj.rb +0 -29
- data/lib/vendor/multi_json/lib/multi_json/adapters/ok_json.rb +0 -58
- data/lib/vendor/multi_json/lib/multi_json/adapters/yajl.rb +0 -20
- data/lib/vendor/multi_json/lib/multi_json/vendor/okjson.rb +0 -602
- data/lib/vendor/multi_json/lib/multi_json/version.rb +0 -3
- data/lib/vendor/multi_json/spec/adapter_shared_example.rb +0 -162
- data/lib/vendor/multi_json/spec/helper.rb +0 -45
- data/lib/vendor/multi_json/spec/json_common_shared_example.rb +0 -36
- data/lib/vendor/multi_json/spec/multi_json_spec.rb +0 -151
- data/spec/archive_deploy_spec.rb +0 -53
- data/spec/basic_deploy_spec.rb +0 -26
- data/spec/bundler_deploy_spec.rb +0 -160
- data/spec/configuration_spec.rb +0 -206
- data/spec/custom_deploy_spec.rb +0 -128
- data/spec/deploy_hook_spec.rb +0 -378
- data/spec/deprecation_spec.rb +0 -23
- data/spec/ey_yml_customized_deploy_spec.rb +0 -99
- data/spec/fixtures/gitrepo.tar.gz +0 -0
- data/spec/fixtures/invalid_hook.rb +0 -1
- data/spec/fixtures/lockfiles/0.9-no-bundler +0 -111
- data/spec/fixtures/lockfiles/0.9-with-bundler +0 -117
- data/spec/fixtures/lockfiles/1.0-no-bundler +0 -54
- data/spec/fixtures/lockfiles/1.0.0.rc.1-with-bundler +0 -162
- data/spec/fixtures/lockfiles/1.0.18-do_mysql +0 -88
- data/spec/fixtures/lockfiles/1.0.18-do_postgres +0 -79
- data/spec/fixtures/lockfiles/1.0.18-mysql +0 -43
- data/spec/fixtures/lockfiles/1.0.18-mysql2 +0 -43
- data/spec/fixtures/lockfiles/1.0.18-pg +0 -43
- data/spec/fixtures/lockfiles/1.0.6-no-bundler +0 -51
- data/spec/fixtures/lockfiles/1.0.6-with-any-bundler +0 -52
- data/spec/fixtures/lockfiles/1.0.6-with-bundler +0 -52
- data/spec/fixtures/lockfiles/1.15.1-no-bundler +0 -51
- data/spec/fixtures/lockfiles/1.3.1-rails-3.2.13 +0 -112
- data/spec/fixtures/lockfiles/not-a-lockfile +0 -1
- data/spec/fixtures/repos/assets_detected/Gemfile +0 -5
- data/spec/fixtures/repos/assets_detected/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_detected/README +0 -1
- data/spec/fixtures/repos/assets_detected/Rakefile +0 -5
- data/spec/fixtures/repos/assets_detected/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_detected/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_detected/config/ey.yml +0 -3
- data/spec/fixtures/repos/assets_disabled/Gemfile +0 -5
- data/spec/fixtures/repos/assets_disabled/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_disabled/README +0 -1
- data/spec/fixtures/repos/assets_disabled/Rakefile +0 -6
- data/spec/fixtures/repos/assets_disabled/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_disabled/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_disabled/config/ey.yml +0 -3
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile +0 -5
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/README +0 -1
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile +0 -6
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml +0 -5
- data/spec/fixtures/repos/assets_disabled_utf8/Gemfile +0 -5
- data/spec/fixtures/repos/assets_disabled_utf8/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_disabled_utf8/README +0 -3
- data/spec/fixtures/repos/assets_disabled_utf8/Rakefile +0 -5
- data/spec/fixtures/repos/assets_disabled_utf8/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_disabled_utf8/config/application.rb +0 -7
- data/spec/fixtures/repos/assets_disabled_utf8/config/ey.yml +0 -3
- data/spec/fixtures/repos/assets_enabled_all/Gemfile +0 -5
- data/spec/fixtures/repos/assets_enabled_all/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_enabled_all/README +0 -1
- data/spec/fixtures/repos/assets_enabled_all/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_enabled_all/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_enabled_all/config/ey.yml +0 -6
- data/spec/fixtures/repos/assets_enabled_all/script/assets +0 -5
- data/spec/fixtures/repos/assets_enabled_all/tmp/obstruction +0 -1
- data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile +0 -3
- data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile.lock +0 -10
- data/spec/fixtures/repos/assets_enabled_in_ey_yml/README +0 -1
- data/spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile +0 -8
- data/spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml +0 -4
- data/spec/fixtures/repos/assets_enabled_util_only/Gemfile +0 -5
- data/spec/fixtures/repos/assets_enabled_util_only/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_enabled_util_only/README +0 -1
- data/spec/fixtures/repos/assets_enabled_util_only/Rakefile +0 -6
- data/spec/fixtures/repos/assets_enabled_util_only/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_enabled_util_only/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_enabled_util_only/config/ey.yml +0 -6
- data/spec/fixtures/repos/assets_error/Gemfile +0 -5
- data/spec/fixtures/repos/assets_error/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_error/README +0 -1
- data/spec/fixtures/repos/assets_error/Rakefile +0 -4
- data/spec/fixtures/repos/assets_error/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_error/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_error/config/ey.yml +0 -4
- data/spec/fixtures/repos/assets_in_hook/Gemfile +0 -5
- data/spec/fixtures/repos/assets_in_hook/Gemfile.lock +0 -88
- data/spec/fixtures/repos/assets_in_hook/README +0 -2
- data/spec/fixtures/repos/assets_in_hook/Rakefile +0 -5
- data/spec/fixtures/repos/assets_in_hook/app/assets/empty +0 -0
- data/spec/fixtures/repos/assets_in_hook/config/application.rb +0 -5
- data/spec/fixtures/repos/assets_in_hook/config/ey.yml +0 -3
- data/spec/fixtures/repos/assets_in_hook/deploy/before_compile_assets.rb +0 -2
- data/spec/fixtures/repos/bundle_fails/Gemfile +0 -1
- data/spec/fixtures/repos/bundle_fails/README +0 -1
- data/spec/fixtures/repos/bundle_fails/deploy/after_bundle.rb +0 -1
- data/spec/fixtures/repos/bundler_disabled/Gemfile +0 -4
- data/spec/fixtures/repos/bundler_disabled/Gemfile.lock +0 -12
- data/spec/fixtures/repos/bundler_disabled/README +0 -1
- data/spec/fixtures/repos/bundler_disabled/config/ey.yml +0 -2
- data/spec/fixtures/repos/bundler_disabled/deploy/after_bundle.rb +0 -1
- data/spec/fixtures/repos/bundler_disabled/deploy/before_bundle.rb +0 -1
- data/spec/fixtures/repos/bundler_old/Gemfile +0 -5
- data/spec/fixtures/repos/bundler_old/Gemfile.lock +0 -15
- data/spec/fixtures/repos/bundler_old/README +0 -1
- data/spec/fixtures/repos/default/Gemfile +0 -4
- data/spec/fixtures/repos/default/Gemfile.lock +0 -12
- data/spec/fixtures/repos/default/README +0 -5
- data/spec/fixtures/repos/default/ey.yml +0 -3
- data/spec/fixtures/repos/executable_hooks/README +0 -1
- data/spec/fixtures/repos/executable_hooks/deploy/before_restart +0 -72
- data/spec/fixtures/repos/executable_hooks_not_executable/README +0 -3
- data/spec/fixtures/repos/executable_hooks_not_executable/deploy/before_restart +0 -3
- data/spec/fixtures/repos/ey_yml/Gemfile +0 -4
- data/spec/fixtures/repos/ey_yml/Gemfile.lock +0 -12
- data/spec/fixtures/repos/ey_yml/README +0 -1
- data/spec/fixtures/repos/ey_yml/config/ey.yml +0 -18
- data/spec/fixtures/repos/ey_yml/deploy/before_migrate.rb +0 -6
- data/spec/fixtures/repos/ey_yml_alt/Gemfile +0 -4
- data/spec/fixtures/repos/ey_yml_alt/Gemfile.lock +0 -12
- data/spec/fixtures/repos/ey_yml_alt/README +0 -1
- data/spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb +0 -6
- data/spec/fixtures/repos/ey_yml_alt/ey.yml +0 -12
- data/spec/fixtures/repos/hook_fails/README +0 -1
- data/spec/fixtures/repos/hook_fails/deploy/before_deploy.rb +0 -1
- data/spec/fixtures/repos/hooks/README +0 -1
- data/spec/fixtures/repos/hooks/deploy/after_bundle.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/after_compile_assets.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/after_deploy.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/after_migrate.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/after_restart.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/after_symlink.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/before_bundle.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/before_compile_assets.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/before_deploy.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/before_migrate.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/before_restart.rb +0 -1
- data/spec/fixtures/repos/hooks/deploy/before_symlink.rb +0 -1
- data/spec/fixtures/repos/multi_dep_manager/README +0 -1
- data/spec/fixtures/repos/multi_dep_manager/composer.json +0 -5
- data/spec/fixtures/repos/multi_dep_manager/composer.lock +0 -462
- data/spec/fixtures/repos/multi_dep_manager/package.json +0 -7
- data/spec/fixtures/repos/multi_dep_manager/public/index.php +0 -4
- data/spec/fixtures/repos/no_ey_config/Gemfile +0 -3
- data/spec/fixtures/repos/no_ey_config/Gemfile.lock +0 -10
- data/spec/fixtures/repos/no_ey_config/README +0 -1
- data/spec/fixtures/repos/no_ey_config/ey.yml +0 -3
- data/spec/fixtures/repos/no_ey_config_no_warning/Gemfile +0 -3
- data/spec/fixtures/repos/no_ey_config_no_warning/Gemfile.lock +0 -10
- data/spec/fixtures/repos/no_ey_config_no_warning/README +0 -1
- data/spec/fixtures/repos/no_ey_config_no_warning/ey.yml +0 -5
- data/spec/fixtures/repos/no_gemfile_lock/Gemfile +0 -4
- data/spec/fixtures/repos/no_gemfile_lock/README +0 -1
- data/spec/fixtures/repos/no_gemfile_lock/ey.yml +0 -3
- data/spec/fixtures/repos/nodejs/README +0 -1
- data/spec/fixtures/repos/nodejs/package.json +0 -7
- data/spec/fixtures/repos/not_bundled/README +0 -1
- data/spec/fixtures/repos/npm_disabled/README +0 -1
- data/spec/fixtures/repos/npm_disabled/config/ey.yml +0 -2
- data/spec/fixtures/repos/npm_disabled/package.json +0 -7
- data/spec/fixtures/repos/php_composer_disabled/README +0 -1
- data/spec/fixtures/repos/php_composer_disabled/composer.json +0 -5
- data/spec/fixtures/repos/php_composer_disabled/composer.lock +0 -462
- data/spec/fixtures/repos/php_composer_disabled/config/ey.yml +0 -2
- data/spec/fixtures/repos/php_composer_disabled/public/index.php +0 -4
- data/spec/fixtures/repos/php_composer_lock/README +0 -1
- data/spec/fixtures/repos/php_composer_lock/composer.json +0 -5
- data/spec/fixtures/repos/php_composer_lock/composer.lock +0 -462
- data/spec/fixtures/repos/php_composer_lock/public/index.php +0 -4
- data/spec/fixtures/repos/php_no_composer_lock/README +0 -1
- data/spec/fixtures/repos/php_no_composer_lock/composer.json +0 -21
- data/spec/fixtures/repos/php_no_composer_lock/public/index.php +0 -4
- data/spec/fixtures/repos/public_system/Gemfile +0 -4
- data/spec/fixtures/repos/public_system/Gemfile.lock +0 -12
- data/spec/fixtures/repos/public_system/README +0 -5
- data/spec/fixtures/repos/public_system/ey.yml +0 -3
- data/spec/fixtures/repos/public_system/public/system/cant_touch_this.txt +0 -3
- data/spec/fixtures/repos/sqlite3/Gemfile +0 -4
- data/spec/fixtures/repos/sqlite3/Gemfile.lock +0 -89
- data/spec/fixtures/repos/sqlite3/README +0 -1
- data/spec/fixtures/retwisj.war +0 -0
- data/spec/fixtures/valid_hook.rb +0 -1
- data/spec/git_strategy_spec.rb +0 -34
- data/spec/lockfile_parser_spec.rb +0 -126
- data/spec/maintenance_spec.rb +0 -44
- data/spec/multi_dependency_manager_spec.rb +0 -25
- data/spec/nodejs_deploy_spec.rb +0 -30
- data/spec/php_deploy_spec.rb +0 -81
- data/spec/platform_configure_spec.rb +0 -61
- data/spec/rails31_deploy_spec.rb +0 -172
- data/spec/restart_spec.rb +0 -43
- data/spec/rollback_spec.rb +0 -87
- data/spec/server_spec.rb +0 -70
- data/spec/services_deploy_spec.rb +0 -165
- data/spec/shell_spec.rb +0 -57
- data/spec/source/archive_spec.rb +0 -33
- data/spec/source/git_spec.rb +0 -44
- data/spec/sqlite3_deploy_spec.rb +0 -38
- data/spec/support/integration.rb +0 -103
- data/spec/support/source_doubles.rb +0 -28
- data/spec/support/timecop.rb +0 -5
- data/spec/symlink_spec.rb +0 -15
data/spec/php_deploy_spec.rb
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Deploying an application that uses PHP and Composer" do
|
|
4
|
-
|
|
5
|
-
with_composer_mocked do |mocked|
|
|
6
|
-
context "with composer available" do
|
|
7
|
-
before(:all) { mock_composer if mocked }
|
|
8
|
-
|
|
9
|
-
context "with a composer.lock" do
|
|
10
|
-
before(:all) do
|
|
11
|
-
deploy_test_application('php_composer_lock')
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it "runs 'composer install'" do
|
|
15
|
-
install_cmd = @deployer.commands.grep(/composer install/).first
|
|
16
|
-
expect(install_cmd).not_to be_nil
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "attempts to run 'composer self-update' before 'composer install'" do
|
|
20
|
-
update_cmd = nil
|
|
21
|
-
@deployer.commands.each do |cmd|
|
|
22
|
-
update_cmd ||= /composer.*self-update/.match(cmd)
|
|
23
|
-
if /composer install/.match(cmd)
|
|
24
|
-
expect(update_cmd).not_to be nil
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
context "with composer disabled in ey.yml" do
|
|
31
|
-
before(:all) do
|
|
32
|
-
deploy_test_application('php_composer_disabled')
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
it "does not run composer" do
|
|
36
|
-
expect(@deployer.commands.grep(/composer/)).to be_empty
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
context "WITHOUT a composer.lock but with composer.json" do
|
|
41
|
-
before(:all) do
|
|
42
|
-
deploy_test_application('php_no_composer_lock')
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it "outputs a warning about deploying without a .lock" do
|
|
46
|
-
warning_out = expect(read_output).to include("WARNING: composer.json found but composer.lock missing!")
|
|
47
|
-
expect(warning_out).not_to be_nil
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
it "runs 'composer install'" do
|
|
51
|
-
install_cmd = @deployer.commands.grep(/composer install/).first
|
|
52
|
-
expect(install_cmd).not_to be_nil
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
it "attempts to run 'composer self-update' before 'composer install'" do
|
|
56
|
-
update_cmd = nil
|
|
57
|
-
@deployer.commands.each do |cmd|
|
|
58
|
-
update_cmd ||= /composer.*self-update/.match(cmd)
|
|
59
|
-
if /composer install/.match(cmd)
|
|
60
|
-
expect(update_cmd).not_to be nil
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
unless $COMPOSER_INSTALLED
|
|
70
|
-
context "without composer available" do
|
|
71
|
-
|
|
72
|
-
it "fails to deploy" do
|
|
73
|
-
expect {deploy_test_application('php_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
|
|
74
|
-
expect {deploy_test_application('php_no_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Deploying an application with platform configure command" do
|
|
4
|
-
describe "configure script does not exist" do
|
|
5
|
-
before do
|
|
6
|
-
@releases_failed = deploy_dir.join('releases_failed')
|
|
7
|
-
deploy_test_application('default')
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
it "works without warning" do
|
|
11
|
-
expect(read_output).not_to match(/WARNING/)
|
|
12
|
-
|
|
13
|
-
expect(@releases_failed).not_to exist
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe "a succesful deploy" do
|
|
18
|
-
before do
|
|
19
|
-
@releases_failed = deploy_dir.join('releases_failed')
|
|
20
|
-
ENV['EY_SERVERSIDE_CONFIGURE_COMMAND'] = "echo platform_configure_command_ran >&2"
|
|
21
|
-
deploy_test_application('default')
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
after do
|
|
25
|
-
ENV.delete('EY_SERVERSIDE_CONFIGURE_COMMAND')
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "runs the configure_command during deploy and finishes successfully" do
|
|
29
|
-
expect(read_output).to match(/platform_configure_command_ran/)
|
|
30
|
-
|
|
31
|
-
expect(@releases_failed).not_to exist
|
|
32
|
-
|
|
33
|
-
restart = deploy_dir.join('current', 'restart')
|
|
34
|
-
expect(restart).to exist
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
describe "a failed configure command" do
|
|
39
|
-
|
|
40
|
-
before do
|
|
41
|
-
ENV['EY_SERVERSIDE_CONFIGURE_COMMAND'] = "echo platform_configure_command_failed >&2 && false"
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
after do
|
|
45
|
-
ENV.delete('EY_SERVERSIDE_CONFIGURE_COMMAND')
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
it "aborts the deplo when it fails, preventing the app from being restarted" do
|
|
49
|
-
@releases_failed = deploy_dir.join('releases_failed')
|
|
50
|
-
expect(@releases_failed).not_to exist
|
|
51
|
-
|
|
52
|
-
begin
|
|
53
|
-
deploy_test_application('default')
|
|
54
|
-
rescue
|
|
55
|
-
end
|
|
56
|
-
expect(read_output).to match(/platform_configure_command_failed/)
|
|
57
|
-
|
|
58
|
-
expect(@releases_failed.entries).not_to be_empty
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
data/spec/rails31_deploy_spec.rb
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Deploying a Rails 3.1 application" do
|
|
4
|
-
context "with default production settings" do
|
|
5
|
-
it "precompiles assets when asset compilation is detected" do
|
|
6
|
-
deploy_test_application('assets_detected')
|
|
7
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist
|
|
8
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist
|
|
9
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
10
|
-
expect(read_output).to include("Precompiling assets. ('app/assets' exists, 'public/assets' not found, not disabled in config.)")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it "precompiles assets, then reuses them on the next deploy if nothing has changed" do
|
|
14
|
-
deploy_test_application('assets_enabled_in_ey_yml')
|
|
15
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist
|
|
16
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist
|
|
17
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
18
|
-
|
|
19
|
-
redeploy_test_application
|
|
20
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist # doesn't run the task
|
|
21
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist # but the assets are there
|
|
22
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
23
|
-
expect(read_output).to match(%r#Reusing existing assets\. \(configured asset_dependencies unchanged from \w{7}..\w{7}\)#)
|
|
24
|
-
|
|
25
|
-
redeploy_test_application('config' => {'precompile_unchanged_assets' => 'true'})
|
|
26
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist # doesn't run the task
|
|
27
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist # but the assets are there
|
|
28
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
29
|
-
expect(read_output).not_to include("Reusing existing assets")
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it "raises error in a experimental_sync_assets mode and stops deployment" do
|
|
33
|
-
expect do
|
|
34
|
-
deploy_test_application('assets_error')
|
|
35
|
-
end.to raise_error(RuntimeError)
|
|
36
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
37
|
-
expect(deploy_dir.join('current', 'public', 'assets')).not_to exist
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "precompile assets again when redeploying a ref with changes" do
|
|
41
|
-
deploy_test_application('assets_enabled_in_ey_yml')
|
|
42
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist
|
|
43
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist
|
|
44
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
45
|
-
expect(deploy_dir.join('current', 'tmp', 'cache')).to exist
|
|
46
|
-
expect(deploy_dir.join('current', 'tmp')).to be_a_symlink
|
|
47
|
-
expect(deploy_dir.join('current', 'cache_compiled')).not_to exist
|
|
48
|
-
expect(read_output).to include("Precompiling assets. (precompile_assets: true)")
|
|
49
|
-
|
|
50
|
-
# changing the ref stands in for actually having assets change (see Strategies::IntegrationSpec#same?)
|
|
51
|
-
redeploy_test_application('branch' => 'somenewref')
|
|
52
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist # it does runs the task
|
|
53
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist
|
|
54
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
55
|
-
expect(deploy_dir.join('current', 'tmp')).to be_a_symlink
|
|
56
|
-
expect(deploy_dir.join('current', 'tmp', 'cache')).to exist # preserves tmp dir
|
|
57
|
-
expect(deploy_dir.join('current', 'cache_compiled')).to exist # uses tmp/cache to compile assets faster
|
|
58
|
-
expect(read_output).not_to match(%r#Reusing existing assets#)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it "precompile assets when redeploying the same ref, but assets were turned off the first time" do
|
|
62
|
-
deploy_test_application('assets_enabled_in_ey_yml', 'config' => {'precompile_assets' => 'false'})
|
|
63
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
64
|
-
expect(deploy_dir.join('current', 'public', 'assets')).not_to exist
|
|
65
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).not_to exist
|
|
66
|
-
expect(read_output).not_to include("Precompiling assets. (precompile_assets: true)")
|
|
67
|
-
|
|
68
|
-
# assets will show as unchanged, but it should compile them fresh anyway.
|
|
69
|
-
redeploy_test_application('config' => {'precompile_assets' => 'true'})
|
|
70
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist # it does runs the task
|
|
71
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist
|
|
72
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
73
|
-
expect(read_output).not_to match(%r#Reusing existing assets#)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
%w[cleaning shared private].each do |strategy|
|
|
77
|
-
it "precompiles assets with asset_strategy '#{strategy}', then reuses them on the next deploy if nothing has changed" do
|
|
78
|
-
deploy_test_application('assets_enabled_in_ey_yml', 'config' => {'asset_strategy' => strategy})
|
|
79
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist
|
|
80
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist
|
|
81
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
82
|
-
|
|
83
|
-
redeploy_test_application
|
|
84
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist # doesn't run the task
|
|
85
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to exist # but the assets are there
|
|
86
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'compiled_asset')).to exist
|
|
87
|
-
expect(read_output).to match(%r#Reusing existing assets\. \(configured asset_dependencies unchanged from \w{7}..\w{7}\)#)
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
context "with asset compilation enabled in ey.yml, despite not otherwise being enabled" do
|
|
93
|
-
before(:all) do
|
|
94
|
-
deploy_test_application('assets_enabled_in_ey_yml')
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
it "precompiles assets" do
|
|
98
|
-
expect(deploy_dir.join('current', 'precompiled')).to exist
|
|
99
|
-
expect(read_output).to include("Precompiling assets. (precompile_assets: true)")
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
context "with asset compilation enabled in ey.yml, but asset_roles is set to only :util" do
|
|
104
|
-
before(:all) do
|
|
105
|
-
deploy_test_application('assets_enabled_util_only')
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
it "precompiles assets" do
|
|
109
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
110
|
-
expect(read_output).to include("Precompiling assets. (precompile_assets: true)")
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
context "with asset compilation enabled in ey.yml, and asset_roles is set to :all, and a custom compile command" do
|
|
115
|
-
before(:all) do
|
|
116
|
-
deploy_test_application('assets_enabled_all')
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
it "precompiles assets but never shares the tmp cache because the repository has a committed tmp dir with contents" do
|
|
120
|
-
expect(deploy_dir.join('current', 'custom_compiled')).to exist
|
|
121
|
-
expect(deploy_dir.join('current', 'cache_compiled')).not_to exist
|
|
122
|
-
expect(deploy_dir.join('current', 'tmp', 'cache')).to exist
|
|
123
|
-
expect(deploy_dir.join('current', 'tmp')).not_to be_a_symlink
|
|
124
|
-
expect(read_output).to include("Precompiling assets. (precompile_assets: true)")
|
|
125
|
-
|
|
126
|
-
redeploy_test_application('config' => {'precompile_unchanged_assets' => 'true'})
|
|
127
|
-
expect(deploy_dir.join('current', 'tmp', 'cache')).to exist
|
|
128
|
-
expect(deploy_dir.join('current', 'cache_compiled')).not_to exist
|
|
129
|
-
expect(deploy_dir.join('current', 'tmp')).not_to be_a_symlink
|
|
130
|
-
end
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
context "with asset support disabled in config/application.rb" do
|
|
134
|
-
it "does not precompile assets" do
|
|
135
|
-
deploy_test_application('assets_disabled')
|
|
136
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
137
|
-
expect(read_output).to include("Skipping asset precompilation. ('config/application.rb' disables assets.)")
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
it "deploys successfully when application.rb has utf-8 encoding" do
|
|
141
|
-
deploy_test_application('assets_disabled_utf8')
|
|
142
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
143
|
-
expect(read_output).to include("Skipping asset precompilation. ('config/application.rb' disables assets.)")
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
context "with asset compilation disabled in ey.yml, despite all other configuration would enable assets" do
|
|
148
|
-
before(:all) do
|
|
149
|
-
deploy_test_application('assets_disabled_in_ey_yml')
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
it "does not precompile assets" do
|
|
153
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
154
|
-
expect(read_output).to include("Skipping asset precompilation. (precompile_assets: false)")
|
|
155
|
-
end
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
context "with existing precompilation in a deploy hook" do
|
|
159
|
-
before(:all) do
|
|
160
|
-
deploy_test_application('assets_in_hook')
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
it "does not replace the public/assets directory" do
|
|
164
|
-
expect(deploy_dir.join('current', 'custom_compiled')).to exist
|
|
165
|
-
expect(deploy_dir.join('current', 'precompiled')).not_to exist
|
|
166
|
-
expect(deploy_dir.join('current', 'public', 'assets')).to be_directory
|
|
167
|
-
expect(deploy_dir.join('current', 'public', 'assets')).not_to be_symlink
|
|
168
|
-
expect(deploy_dir.join('current', 'public', 'assets', 'custom_compiled_asset')).to exist
|
|
169
|
-
expect(read_output).to include("Skipping asset precompilation. ('public/assets' directory already exists.)")
|
|
170
|
-
end
|
|
171
|
-
end
|
|
172
|
-
end
|
data/spec/restart_spec.rb
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
class TestRestartDeploy < FullTestDeploy
|
|
4
|
-
attr_reader :call_order
|
|
5
|
-
def initialize(*a)
|
|
6
|
-
super
|
|
7
|
-
@call_order = []
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def require_custom_tasks() @call_order << 'require_custom_tasks' end
|
|
11
|
-
def restart() @call_order << 'restart' end
|
|
12
|
-
def enable_maintenance_page() @call_order << 'enable_maintenance_page' end
|
|
13
|
-
def disable_maintenance_page() @call_order << 'disable_maintenance_page' end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
describe "EY::Serverside::Deploy#restart_with_maintenance_page" do
|
|
17
|
-
|
|
18
|
-
class TestRestartWithMaintenancePage < TestRestartDeploy
|
|
19
|
-
def conditionally_enable_maintenance_page() @call_order << 'conditionally_enable_maintenance_page' end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "puts up the maintenance page if necessary, restarts, and takes down the maintenance page" do
|
|
23
|
-
config = EY::Serverside::Deploy::Configuration.new('deploy_to' => deploy_dir, 'app' => 'app_name')
|
|
24
|
-
deployer = TestRestartWithMaintenancePage.realnew(test_servers, config, test_shell)
|
|
25
|
-
deployer.restart_with_maintenance_page
|
|
26
|
-
expect(deployer.call_order).to eq(%w(
|
|
27
|
-
require_custom_tasks
|
|
28
|
-
enable_maintenance_page
|
|
29
|
-
restart
|
|
30
|
-
disable_maintenance_page
|
|
31
|
-
))
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
describe "glassfish stack" do
|
|
36
|
-
|
|
37
|
-
it "requires a maintenance page" do
|
|
38
|
-
config = EY::Serverside::Deploy::Configuration.new('deploy_to' => deploy_dir, 'app' => 'app_name', 'stack' => 'glassfish')
|
|
39
|
-
deployer = TestRestartDeploy.realnew(test_servers, config, test_shell)
|
|
40
|
-
deployer.restart_with_maintenance_page
|
|
41
|
-
expect(deployer.call_order).to include('enable_maintenance_page')
|
|
42
|
-
end
|
|
43
|
-
end
|
data/spec/rollback_spec.rb
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Rolling back" do
|
|
4
|
-
def setup_good_and_bad_deploy(repo)
|
|
5
|
-
deploy_test_application(repo, 'migrate' => nil)
|
|
6
|
-
@good_revision = deploy_dir.join('current', 'REVISION').read.strip
|
|
7
|
-
expect(deploy_dir.join('current', 'REVISION')).to exist
|
|
8
|
-
deploy_dir.join('current', 'restart').delete
|
|
9
|
-
deploy_test_application(repo, 'migrate' => nil)
|
|
10
|
-
expect(deploy_dir.join('current', 'REVISION')).to exist
|
|
11
|
-
deploy_dir.join('current', 'restart').delete
|
|
12
|
-
|
|
13
|
-
releases = @deployer.config.paths.all_releases
|
|
14
|
-
expect(releases.size).to eq(2)
|
|
15
|
-
@good_release = releases.first
|
|
16
|
-
@bad_release = releases.last
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def rollback
|
|
20
|
-
argv = @adapter.rollback.commands.last.to_argv[2..-1]
|
|
21
|
-
with_mocked_commands do
|
|
22
|
-
capture do
|
|
23
|
-
EY::Serverside::CLI::App.start(argv)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
context "without bundler" do
|
|
29
|
-
before(:all) do
|
|
30
|
-
setup_good_and_bad_deploy('not_bundled')
|
|
31
|
-
rollback
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "rolls back to the older deploy" do
|
|
35
|
-
out = read_output
|
|
36
|
-
expect(out).to match(/Rolling back to previous release.*#{@good_revision}/)
|
|
37
|
-
expect(out).to match(/Restarting with previous release./)
|
|
38
|
-
expect(out).to match(/Finished rollback/)
|
|
39
|
-
|
|
40
|
-
expect(deploy_dir.join('current', 'restart')).to exist
|
|
41
|
-
expect(@bad_release).not_to exist
|
|
42
|
-
expect(@good_release.join('restart')).to exist
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
context "with a problematic file in the releases dir" do
|
|
47
|
-
before(:all) do
|
|
48
|
-
setup_good_and_bad_deploy('not_bundled')
|
|
49
|
-
@deployer.config.paths.releases.join('tmp').mkpath
|
|
50
|
-
expect { rollback }.to raise_error
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it "rolls back to the older deploy" do
|
|
54
|
-
out = read_output
|
|
55
|
-
expect(out).to include("Bad paths found in #{@deployer.config.paths.releases}:")
|
|
56
|
-
expect(out).to include(@deployer.config.paths.releases.join('tmp').to_s)
|
|
57
|
-
expect(out).to include("Storing files in this directory will disrupt latest_release, diff detection, rollback, and possibly other features.")
|
|
58
|
-
expect(out).to_not include("Restarting with previous release.")
|
|
59
|
-
|
|
60
|
-
expect(deploy_dir.join('current', 'restart')).not_to exist
|
|
61
|
-
expect(@bad_release).to exist
|
|
62
|
-
expect(@good_release).to exist
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
context "with complex config" do
|
|
67
|
-
before(:all) do
|
|
68
|
-
setup_good_and_bad_deploy('ey_yml')
|
|
69
|
-
rollback
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it "rolls back to the older deploy" do
|
|
73
|
-
out = read_output
|
|
74
|
-
expect(out).to match(/Rolling back to previous release.*#{@good_revision}/)
|
|
75
|
-
expect(out).to match(/Restarting with previous release./)
|
|
76
|
-
expect(out).to match(/Finished rollback/)
|
|
77
|
-
|
|
78
|
-
expect(deploy_dir.join('current', 'restart')).to exist
|
|
79
|
-
expect(@bad_release).not_to exist
|
|
80
|
-
expect(@good_release.join('restart')).to exist
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
it "loads and uses ey.yml during rollback" do
|
|
84
|
-
expect(read_output).to match(/--without only test/)
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|