alcapon 0.4.15 → 0.4.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA512:
3
- data.tar.gz: 4375e3cc5ebf8dcab9094ad15ebd41a49dfc25639056827f6fcf821cd307867824cf822b7c122c24bef452fafbc58a8c4bd1f569b0306ff94eec011a4eae8d38
4
- metadata.gz: f20a5cad5a195de62da33b9f91f773c5f62f9f970bf8f26692b7f59a24d37d20cfda78b64c50a6cb8fa977cda6d6eadf52194f5831b471b9554df034afa7df35
5
- SHA1:
6
- data.tar.gz: 7629eeca6cc423a2b7be1355e31df41e6d599a82
7
- metadata.gz: 1185f76ba259f58acaaba706b6e4e528d2130431
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a0e738df5d005a7f987058d4792b83a03e86b7a4
4
+ data.tar.gz: 98e79d8c973a214ff4599339d5ed2ce846475cc6
5
+ SHA512:
6
+ metadata.gz: 63b88770650ac8adaba8cec4d1b1738df5ba1206afe6493701429855f5d9dd50293f7d50ef1cdb3728b2b1a5b62ca433fb17d918e0594b50f2d66a67db8ddb17
7
+ data.tar.gz: ce3f23f9716ee5e4e3e5c04ce38e287c47d34e675d301bb066b3c667d41a3295d90c070556be7399c595ef70562a745cdb17b60ba5f1be4942ee09502ade0d77
data/README.md CHANGED
@@ -9,7 +9,9 @@ it on a preproduction environment before going further. Please also do read the
9
9
  "Known bugs" section carefully.
10
10
 
11
11
  CAPISTRANO dependency : we recommand not to use Capistrano >= 2.15 which for some
12
- reason broke something (see #7)
12
+ reason broke something (see https://github.com/alafon/alcapon/issues/7 and https://github.com/alafon/capistrano/commit/e4f207b4b44e9fa5fa18ec4e85a7469d94570095)
13
+
14
+ AlCapON is not fully compatible with Capistrano 3.x, we are working on it and we recommand to stay on the 2.x branch
13
15
 
14
16
  ## Changelog
15
17
 
data/bin/capezit CHANGED
@@ -157,6 +157,19 @@ files = {
157
157
  # If not set, permissions remain unchanged
158
158
  #set :shared_children_group, "\#{webserver_group}"
159
159
 
160
+ # Which autoloads to generate. By default, regenerates extensions and
161
+ # kernel-override autoloads
162
+ # Possible values : see bin/php/ezpgenerateautoloads.php --help
163
+ # Feature can be disabled by using :
164
+ #set :autoload_list, []
165
+ set :autoload_list, [ "extension", "kernel-override" ]
166
+
167
+ # eZ Publish 4 only
168
+
169
+ # trigger ezpublish.cache.clear at the end of the deployment
170
+ # default: false
171
+ #set :ezp4_trigger_cache_clear, true
172
+
160
173
  # eZ Publish 5 only
161
174
 
162
175
  # assets configuration (default is 'web')
@@ -165,7 +178,8 @@ files = {
165
178
  # used by the console with --env=<env>
166
179
  set :ezp5_env, 'prod'
167
180
 
168
- # used by ezpublish:configure to generate ezp5 configuration files based on the ezp4 ones
181
+ # used by ezpublish:configure to generate ezp5 configuration files based on
182
+ # the ezp4 ones
169
183
  #set :ezp5_siteaccess_groupname, 'ezflow_site'
170
184
  #set :ezp5_admin_siteaccess, 'ezflow_site_admin'
171
185
 
@@ -174,18 +188,19 @@ files = {
174
188
  # IMPORTANT: requires that the database is already created before it is run
175
189
  set :ezp5_regenerate_config, false
176
190
 
177
- # Which autoloads to generate. By default, regenerates extensions and
178
- # kernel-override autoloads
179
- # Possible values : see bin/php/ezpgenerateautoloads.php --help
180
- # Feature can be disabled by using :
181
- #set :autoload_list, []
182
- set :autoload_list, [ "extension", "kernel-override" ]
183
191
 
184
192
  # TODO : use yml files to manage database credentials securely
185
193
  # See http://www.simonecarletti.com/blog/2009/06/capistrano-and-database-yml/
194
+ # These settings are also use for remote database backup
195
+ set :database_server, "localhost"
196
+ set :database_name, "dbname"
186
197
  set :database_uname, "dbuname"
187
198
  set :database_passd, "dbpasswd"
188
- set :database_name, "dbname"
199
+ # The :database_local_passd parameter can be used when importing with
200
+ # `cap db:import_to_local` (ie: your local db password != database_passd)
201
+ #set :database_local_passd, "localpassword"
202
+
203
+ # TODO : also provide backup for cluster setup (ezdbfile & co)
189
204
 
190
205
  # Check-list (used by cap setup:check)
191
206
  depend :remote, :command, "php"
data/lib/capez.rb CHANGED
@@ -296,7 +296,7 @@ namespace :ezpublish do
296
296
  # creates a storage dir for elements specified by :storage_directories
297
297
  storage_directories.each{ |sd|
298
298
  print_dotted( "var/#{sd}/storage" )
299
- run( "mkdir #{latest_release}/" + ezp_legacy_path( "var/#{sd}" ) )
299
+ run( "mkdir -p #{latest_release}/" + ezp_legacy_path( "var/#{sd}" ) )
300
300
  capez_puts_done
301
301
  }
302
302
 
@@ -369,7 +369,7 @@ namespace :ezpublish do
369
369
  exclude_string << "--exclude '#{item}' "
370
370
  }
371
371
 
372
- try_sudo( "chown -R #{user}:#{webserver_user} #{shared_path}/var/*" )
372
+ try_sudo( "chown -R #{user}:#{webserver_group} #{shared_path}/var/*" )
373
373
  run_locally( "rsync -az #{exclude_string} #{ezp_legacy_path('var')}/* #{user}@#{shared_host}:#{shared_path}/var/ " )
374
374
  try_sudo( "chown -R #{webserver_user} #{shared_path}/var/*" )
375
375
  try_sudo( "chmod -R ug+rwx #{shared_path}/var/*" )
data/lib/db.rb CHANGED
@@ -18,9 +18,10 @@ namespace :db do
18
18
  i += 1
19
19
  }
20
20
  file_to_import = Capistrano::CLI.ui.ask "Which one ?"
21
+ dbpasswd = fetch( :database_local_passd, "#{database_passd}" )
21
22
  if files.has_key?( file_to_import.to_i )
22
23
  filename = File.join( backup_dir, files[file_to_import.to_i] )
23
- system( "gunzip < #{filename} | mysql -u#{database_uname} -p#{database_passd} #{database_name} ")
24
+ system( "gunzip < #{filename} | mysql -u#{database_uname} -p#{dbpasswd} #{database_name} ")
24
25
  else
25
26
  abort "Bad index"
26
27
  end
@@ -30,16 +31,24 @@ namespace :db do
30
31
  desc <<-DESC
31
32
  Creates a backup from a remote database server
32
33
  DESC
33
- task :backup, :roles => :db do
34
- filename = generate_backup_name
34
+ task :backup, :roles => :web, :only => { :primary => true } do
35
+ filename = generate_backup_name( database_name )
35
36
  file = File.join( "/tmp", filename )
36
- on_rollback do
37
- run "rm #{file}"
38
- end
39
- run "mysqldump -u#{database_uname} -p#{database_passd} #{database_name} | gzip > #{file}"
40
37
  backup_dir_for_this_stage = File.join( get_backup_dir, "#{stage}" )
41
- create_backup_dir( backup_dir_for_this_stage )
42
- get( file, File.join( backup_dir_for_this_stage, filename ), :via => :scp )
38
+ on_rollback do
39
+ run "rm #{file}"
40
+ end
41
+ dump_result = nil
42
+ run "mysqldump -h#{database_server} -u#{database_uname} -p #{database_name} | gzip > #{file}" do |ch, stream, out|
43
+ ch.send_data "#{database_passd}\n" if out =~ /^Enter password:/
44
+ dump_result = out
45
+ end
46
+ if dump_result =~ /.*error.*1045/i
47
+ puts "Access denied on '#{database_server}' with user '#{database_uname}'".red
48
+ else
49
+ create_backup_dir( backup_dir_for_this_stage )
50
+ get( file, File.join( backup_dir_for_this_stage, filename ), :via => :scp )
51
+ end
43
52
  run "rm #{file}"
44
53
  end
45
54
 
@@ -49,12 +58,12 @@ namespace :db do
49
58
  task :backup_local do
50
59
  backup_dir = File.join( get_backup_dir, 'local' )
51
60
  create_backup_dir( backup_dir )
52
- filename = File.join( backup_dir, generate_backup_name )
61
+ filename = File.join( backup_dir, generate_backup_name( database_name ) )
53
62
  system("mysqldump -u#{database_uname} -p#{database_passd} #{database_name} | gzip -9 > #{filename}")
54
63
  end
55
64
 
56
- def generate_backup_name
57
- return "#{Time.now.strftime '%Y-%m%d-%H%M%S'}.sql.gz"
65
+ def generate_backup_name(dbname)
66
+ return "#{Time.now.strftime '%Y-%m%d-%H%M%S'}-#{dbname}.sql.gz"
58
67
  end
59
68
 
60
69
  def create_backup_dir( path )
data/lib/ext/spinner.rb CHANGED
File without changes
data/lib/ezpublish4.rb CHANGED
@@ -10,7 +10,8 @@ after "deploy:finalize_update" do
10
10
  ezpublish.var.link
11
11
  ezpublish.settings.deploy
12
12
  ezpublish.autoloads.generate
13
- #ezpublish.cache.clear
13
+ if fetch( :ezp4_trigger_cache_clear, false )
14
+ ezpublish.cache.clear
14
15
  end
15
16
 
16
17
  namespace :ezpublish do
File without changes
@@ -16,7 +16,7 @@ namespace :ezpublish do
16
16
  else
17
17
  cache_list.each { |cache_tag|
18
18
  print_dotted( "#{cache_tag}" )
19
- capture "cd #{latest_release}/#{ezp_legacy_path} && sudo -u #{sudo_user} php bin/php/ezcache.php --clear-tag=#{cache_tag}#{' --purge' if cache_purge}"
19
+ run "cd #{latest_release}/#{ezp_legacy_path} && sudo -u #{sudo_user} php bin/php/ezcache.php --clear-tag=#{cache_tag}#{' --purge' if cache_purge}"
20
20
  capez_puts_done
21
21
  }
22
22
  end
@@ -29,8 +29,8 @@ namespace :ezpublish do
29
29
  DESC
30
30
  task :install, :roles => :web do
31
31
  print_dotted( "\n--> Generating web assets in #{fetch('ezp5_assets_path','web')}" )
32
- capture( "cd #{latest_release} && sudo -u #{fetch(:php_user,user)} php ezpublish/console assets:install --symlink #{fetch('ezp5_assets_path','web')}" )
33
- capture( "cd #{latest_release} && sudo -u #{fetch(:php_user,user)} php ezpublish/console ezpublish:legacy:assets_install --symlink #{fetch('ezp5_assets_path','web')}" )
32
+ run( "cd #{latest_release} && sudo -u #{fetch(:php_user,user)} php ezpublish/console assets:install --symlink #{fetch('ezp5_assets_path','web')}" )
33
+ run( "cd #{latest_release} && sudo -u #{fetch(:php_user,user)} php ezpublish/console ezpublish:legacy:assets_install --symlink #{fetch('ezp5_assets_path','web')}" )
34
34
  capez_puts_done
35
35
  end
36
36
  end
@@ -42,7 +42,7 @@ namespace :ezpublish do
42
42
  task :configure, :roles => :web do
43
43
  print_dotted( "\n--> Generating ezp5 configuration files from ezp4 ones" )
44
44
  if( fetch('ezp5_siteaccess_groupname',false) != false && fetch('ezp5_admin_siteaccess',false) != false )
45
- capture( "cd #{latest_release} && sudo -u #{fetch(:php_user,user)} php ezpublish/console ezpublish:configure --env=#{fetch('ezp5_env','prod')} #{ezp5_siteaccess_groupname} #{ezp5_admin_siteaccess}" )
45
+ run( "cd #{latest_release} && sudo -u #{fetch(:php_user,user)} php ezpublish/console ezpublish:configure --env=#{fetch('ezp5_env','prod')} #{ezp5_siteaccess_groupname} #{ezp5_admin_siteaccess}" )
46
46
  else
47
47
  abort( "Since version 0.4.3, you need to set ezp5_siteaccess_groupname & ezp5_admin_siteaccess".red )
48
48
  end
@@ -51,4 +51,4 @@ namespace :ezpublish do
51
51
 
52
52
  end
53
53
 
54
- end
54
+ end
data/lib/ezpublish5.rb CHANGED
File without changes
data/lib/utils.rb CHANGED
File without changes
metadata CHANGED
@@ -1,45 +1,52 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: alcapon
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.15
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.16
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Arnaud Lafon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2013-06-13 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2014-05-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: capistrano
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
19
17
  - - ~>
20
- - !ruby/object:Gem::Version
18
+ - !ruby/object:Gem::Version
21
19
  version: 2.14.0
22
20
  type: :runtime
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
25
- name: colored
26
21
  prerelease: false
27
- requirement: &id002 !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- version: "1.2"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 2.14.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: colored
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2'
32
34
  type: :runtime
33
- version_requirements: *id002
34
- description: Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH. This package gives you some tools to deploy your eZ Publish projects.
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2'
41
+ description: Capistrano is a utility and framework for executing commands in parallel
42
+ on multiple remote machines, via SSH. This package gives you some tools to deploy
43
+ your eZ Publish projects.
35
44
  email: alcapon@arnaudlafon.com
36
- executables:
45
+ executables:
37
46
  - capezit
38
47
  extensions: []
39
-
40
48
  extra_rdoc_files: []
41
-
42
- files:
49
+ files:
43
50
  - bin/capezit
44
51
  - lib/capez.rb
45
52
  - lib/db.rb
@@ -52,30 +59,27 @@ files:
52
59
  - README.md
53
60
  - LICENSE.md
54
61
  homepage: http://alafon.github.io/alcapon/
55
- licenses:
62
+ licenses:
56
63
  - MIT
57
64
  metadata: {}
58
-
59
65
  post_install_message:
60
66
  rdoc_options: []
61
-
62
- require_paths:
67
+ require_paths:
63
68
  - lib
64
- required_ruby_version: !ruby/object:Gem::Requirement
65
- requirements:
66
- - &id003
67
- - ">="
68
- - !ruby/object:Gem::Version
69
- version: "0"
70
- required_rubygems_version: !ruby/object:Gem::Requirement
71
- requirements:
72
- - *id003
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
73
79
  requirements: []
74
-
75
80
  rubyforge_project:
76
- rubygems_version: 2.0.3
81
+ rubygems_version: 2.0.14
77
82
  signing_key:
78
83
  specification_version: 4
79
84
  summary: Enable Capistrano for your eZ Publish projects
80
85
  test_files: []
81
-