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 +7 -7
- data/README.md +3 -1
- data/bin/capezit +23 -8
- data/lib/capez.rb +2 -2
- data/lib/db.rb +21 -12
- data/lib/ext/spinner.rb +0 -0
- data/lib/ezpublish4.rb +2 -1
- data/lib/ezpublish5/deploy.rb +0 -0
- data/lib/ezpublish5/ezpublish.rb +5 -5
- data/lib/ezpublish5.rb +0 -0
- data/lib/utils.rb +0 -0
- metadata +46 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
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
|
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
|
-
|
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}:#{
|
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#{
|
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 => :
|
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
|
-
|
42
|
-
|
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
data/lib/ezpublish5/deploy.rb
CHANGED
File without changes
|
data/lib/ezpublish5/ezpublish.rb
CHANGED
@@ -16,7 +16,7 @@ namespace :ezpublish do
|
|
16
16
|
else
|
17
17
|
cache_list.each { |cache_tag|
|
18
18
|
print_dotted( "#{cache_tag}" )
|
19
|
-
|
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
|
-
|
33
|
-
|
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
|
-
|
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.
|
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
|
-
|
13
|
-
|
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
|
-
|
17
|
-
|
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
|
-
|
28
|
-
requirements:
|
29
|
-
- -
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version:
|
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
|
-
|
34
|
-
|
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
|
-
-
|
67
|
-
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
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.
|
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
|
-
|