capistrano 3.0.0.pre14 → 3.0.0

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/README.md +1 -1
  4. data/bin/cap +1 -1
  5. data/capistrano.gemspec +3 -0
  6. data/features/deploy.feature +52 -0
  7. data/features/installation.feature +16 -0
  8. data/features/remote_file_task.feature +14 -0
  9. data/features/step_definitions/assertions.rb +90 -0
  10. data/features/step_definitions/cap_commands.rb +8 -0
  11. data/features/step_definitions/setup.rb +25 -0
  12. data/features/support/env.rb +12 -0
  13. data/features/support/remote_command_helpers.rb +20 -0
  14. data/lib/Capfile +1 -0
  15. data/lib/capistrano.rb +0 -14
  16. data/lib/capistrano/all.rb +16 -0
  17. data/lib/capistrano/application.rb +1 -10
  18. data/lib/capistrano/configuration.rb +4 -0
  19. data/lib/capistrano/configuration/server.rb +44 -6
  20. data/lib/capistrano/configuration/servers.rb +14 -51
  21. data/lib/capistrano/configuration/servers/role_filter.rb +86 -0
  22. data/lib/capistrano/defaults.rb +0 -8
  23. data/lib/capistrano/dsl.rb +1 -1
  24. data/lib/capistrano/dsl/env.rb +6 -2
  25. data/lib/capistrano/dsl/paths.rb +7 -4
  26. data/lib/capistrano/dsl/task_enhancements.rb +38 -0
  27. data/lib/capistrano/hg.rb +1 -0
  28. data/lib/capistrano/i18n.rb +1 -1
  29. data/lib/capistrano/setup.rb +7 -3
  30. data/lib/capistrano/tasks/deploy.rake +39 -9
  31. data/lib/capistrano/tasks/framework.rake +0 -2
  32. data/lib/capistrano/tasks/git.rake +3 -6
  33. data/lib/capistrano/tasks/hg.rake +39 -0
  34. data/lib/capistrano/templates/Capfile +2 -23
  35. data/lib/capistrano/templates/deploy.rb.erb +23 -0
  36. data/lib/capistrano/templates/stage.rb.erb +1 -1
  37. data/lib/capistrano/version.rb +1 -1
  38. data/spec/integration/dsl_spec.rb +71 -0
  39. data/spec/lib/capistrano/configuration/server_spec.rb +69 -0
  40. data/spec/lib/capistrano/configuration/servers/role_filter_spec.rb +140 -0
  41. data/spec/lib/capistrano/configuration/servers_spec.rb +46 -9
  42. data/spec/lib/capistrano/configuration_spec.rb +11 -0
  43. data/spec/spec_helper.rb +1 -2
  44. data/spec/support/.gitignore +1 -0
  45. data/spec/support/Vagrantfile +13 -0
  46. data/spec/support/tasks/database.cap +11 -0
  47. data/spec/support/test_app.rb +55 -6
  48. metadata +74 -16
  49. data/lib/capistrano/bundler.rb +0 -1
  50. data/lib/capistrano/tasks/bundler.rake +0 -13
  51. data/spec/integration/deploy_finalize_spec.rb +0 -34
  52. data/spec/integration/deploy_finished_spec.rb +0 -36
  53. data/spec/integration/deploy_started_spec.rb +0 -74
  54. data/spec/integration/deploy_update_spec.rb +0 -45
  55. data/spec/integration/installation_spec.rb +0 -76
@@ -1,45 +0,0 @@
1
- require 'integration_spec_helper'
2
-
3
- describe 'cap deploy:updating', slow: true do
4
- before do
5
- install_test_app_with(config)
6
- end
7
-
8
- describe 'deploy' do
9
- let(:config) {
10
- %{
11
- set :stage, :#{stage}
12
- set :deploy_to, '#{deploy_to}'
13
- set :repo_url, 'git://github.com/capistrano/capistrano.git'
14
- set :branch, 'v3'
15
- server 'localhost', roles: %w{web app}, user: '#{current_user}'
16
- set :linked_files, %w{config/database.yml}
17
- set :linked_dirs, %w{bin log public/system vendor/bundle}
18
- }
19
- }
20
-
21
- describe 'symlink' do
22
- before do
23
- cap 'deploy:started'
24
- create_shared_directory('config')
25
- create_shared_file('config/database.yml')
26
- cap 'deploy:symlink:shared'
27
- end
28
-
29
- describe 'linked_dirs' do
30
- it 'symlinks the directories in shared to `current`' do
31
- %w{bin log public/system vendor/bundle}.each do |dir|
32
- expect(release_path.join(dir)).to be_a_symlink_to shared_path.join(dir)
33
- end
34
- end
35
- end
36
-
37
- describe 'linked_files' do
38
- it 'symlinks the files in shared to `current`' do
39
- file = 'config/database.yml'
40
- expect(release_path.join(file)).to be_a_symlink_to shared_path.join(file)
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,76 +0,0 @@
1
- require 'integration_spec_helper'
2
-
3
- describe 'cap install' do
4
-
5
- context 'with defaults' do
6
- before :all do
7
- create_test_app
8
- Dir.chdir(test_app_path) do
9
- %x[bundle exec cap install]
10
- end
11
- end
12
-
13
- describe 'installation' do
14
-
15
- it 'creates config/deploy' do
16
- path = test_app_path.join('config/deploy')
17
- expect(Dir.exists?(path)).to be_true
18
- end
19
-
20
- it 'creates lib/capistrano/tasks' do
21
- path = test_app_path.join('lib/capistrano/tasks')
22
- expect(Dir.exists?(path)).to be_true
23
- end
24
-
25
- it 'creates the deploy file' do
26
- file = test_app_path.join('config/deploy.rb')
27
- expect(File.exists?(file)).to be_true
28
- end
29
-
30
- it 'creates the stage files' do
31
- staging = test_app_path.join('config/deploy/staging.rb')
32
- production = test_app_path.join('config/deploy/production.rb')
33
- expect(File.exists?(staging)).to be_true
34
- expect(File.exists?(production)).to be_true
35
- end
36
-
37
- end
38
- end
39
-
40
- context 'with STAGES' do
41
- before :all do
42
- create_test_app
43
- Dir.chdir(test_app_path) do
44
- %x[bundle exec cap install STAGES=qa,production]
45
- end
46
- end
47
-
48
- describe 'installation' do
49
-
50
- it 'creates config/deploy' do
51
- path = test_app_path.join('config/deploy')
52
- expect(Dir.exists?(path)).to be_true
53
- end
54
-
55
- it 'creates lib/capistrano/tasks' do
56
- path = test_app_path.join('lib/capistrano/tasks')
57
- expect(Dir.exists?(path)).to be_true
58
- end
59
-
60
- it 'creates the deploy file' do
61
- file = test_app_path.join('config/deploy.rb')
62
- expect(File.exists?(file)).to be_true
63
- end
64
-
65
- it 'creates the stage files specified, not the defaults' do
66
- qa = test_app_path.join('config/deploy/qa.rb')
67
- production = test_app_path.join('config/deploy/production.rb')
68
- staging = test_app_path.join('config/deploy/staging.rb')
69
- expect(File.exists?(qa)).to be_true
70
- expect(File.exists?(production)).to be_true
71
- expect(File.exists?(staging)).to be_false
72
- end
73
-
74
- end
75
- end
76
- end