capifony 2.3.0 → 2.4.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.
- data/CHANGELOG.md +14 -0
- data/bin/capifony +1 -1
- data/lib/capifony_symfony1.rb +3 -0
- data/lib/capifony_symfony2.rb +9 -0
- data/lib/symfony1/shared.rb +2 -2
- data/lib/symfony1/symfony.rb +2 -2
- data/lib/symfony2/database.rb +4 -4
- data/lib/symfony2/shared.rb +32 -0
- data/lib/symfony2/symfony.rb +4 -4
- metadata +5 -3
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
### 2.4.0 / September 17, 2013
|
2
|
+
|
3
|
+
* Fixed: copy vendor dir to latest_release, not to latest_release/vendor
|
4
|
+
* Added: -h option with host into postgresql dump tasks
|
5
|
+
* Fixed: assets install step disappeared ??
|
6
|
+
* Added: variable to set options of dump-autoload action
|
7
|
+
* Added: missing backup_path definition for symfony 1
|
8
|
+
* Added: new gem dependency on fakefs (specs)
|
9
|
+
* Added: backup task for the shared folder
|
10
|
+
* Fixed: changed database backup filename to be human readable
|
11
|
+
* Added: license to gemspec
|
12
|
+
* Added: web_path variable
|
13
|
+
* Fixed: set symfony environment prior calling composer install
|
14
|
+
|
1
15
|
### 2.3.0 / July 26, 2013
|
2
16
|
|
3
17
|
* Use `symfony_env_*` variables to tail
|
data/bin/capifony
CHANGED
data/lib/capifony_symfony1.rb
CHANGED
data/lib/capifony_symfony2.rb
CHANGED
@@ -21,6 +21,7 @@ module Capifony
|
|
21
21
|
load 'symfony2/doctrine'
|
22
22
|
load 'symfony2/propel'
|
23
23
|
load 'symfony2/web'
|
24
|
+
load 'symfony2/shared'
|
24
25
|
|
25
26
|
# Symfony application path
|
26
27
|
set :app_path, "app"
|
@@ -66,6 +67,9 @@ module Capifony
|
|
66
67
|
# Options to pass to composer when installing/updating
|
67
68
|
set :composer_options, "--no-dev --verbose --prefer-dist --optimize-autoloader --no-progress"
|
68
69
|
|
70
|
+
# Options to pass to composer when dumping the autoloader (dump-autoloader)
|
71
|
+
set :composer_dump_autoload_options, "--optimize"
|
72
|
+
|
69
73
|
# Whether to update vendors using the configured dependency manager (composer or bin/vendors)
|
70
74
|
set :update_vendors, false
|
71
75
|
|
@@ -82,6 +86,7 @@ module Capifony
|
|
82
86
|
set :dump_assetic_assets, false
|
83
87
|
|
84
88
|
# Assets install
|
89
|
+
set :assets_install, false
|
85
90
|
set :assets_symlinks, false
|
86
91
|
set :assets_relative, false
|
87
92
|
set :assets_install_path, web_path
|
@@ -309,6 +314,10 @@ module Capifony
|
|
309
314
|
symfony.cache.warmup # Warmup clean cache
|
310
315
|
end
|
311
316
|
|
317
|
+
if assets_install
|
318
|
+
symfony.assets.install # Install assets
|
319
|
+
end
|
320
|
+
|
312
321
|
if dump_assetic_assets
|
313
322
|
symfony.assetic.dump # Dump assetic assets
|
314
323
|
end
|
data/lib/symfony1/shared.rb
CHANGED
@@ -26,12 +26,12 @@ namespace :shared do
|
|
26
26
|
namespace :uploads do
|
27
27
|
desc "Download all files from remote web/uploads folder to local one"
|
28
28
|
task :to_local do
|
29
|
-
download("#{shared_path}/
|
29
|
+
download("#{shared_path}/#{web_path}/uploads", "#{web_path}", :via => :scp, :recursive => true)
|
30
30
|
end
|
31
31
|
|
32
32
|
desc "Upload all files from local web/uploads folder to remote one"
|
33
33
|
task :to_remote do
|
34
|
-
upload("
|
34
|
+
upload("#{web_path}/uploads", "#{shared_path}/#{web_path}", :via => :scp, :recursive => true)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
data/lib/symfony1/symfony.rb
CHANGED
@@ -95,12 +95,12 @@ namespace :symfony do
|
|
95
95
|
|
96
96
|
# First application listed becomes index.php
|
97
97
|
if app = apps.shift
|
98
|
-
cmd << "cp #{release_path}
|
98
|
+
cmd << "cp #{release_path}/#{web_path}/#{app}_#{env}.php #{release_path}/#{web_path}/index.php"
|
99
99
|
end
|
100
100
|
|
101
101
|
# All other apps are copied to their default controllers
|
102
102
|
for app in apps
|
103
|
-
cmd << "cp #{release_path}
|
103
|
+
cmd << "cp #{release_path}/#{web_path}/#{app}_#{env}.php #{release_path}/#{web_path}/#{app}.php"
|
104
104
|
end
|
105
105
|
|
106
106
|
run "#{try_sudo} sh -c '#{cmd.join(';')}'" if cmd.join(';')
|
data/lib/symfony2/database.rb
CHANGED
@@ -6,7 +6,7 @@ namespace :database do
|
|
6
6
|
desc "Dumps remote database"
|
7
7
|
task :remote, :roles => :db, :only => { :primary => true } do
|
8
8
|
env = fetch(:deploy_env, "remote")
|
9
|
-
filename = "#{application}.#{env}_dump.#{Time.now.
|
9
|
+
filename = "#{application}.#{env}_dump.#{Time.now.utc.strftime("%Y%m%d%H%M%S")}.sql.gz"
|
10
10
|
file = "#{remote_tmp_dir}/#{filename}"
|
11
11
|
sqlfile = "#{application}_dump.sql"
|
12
12
|
config = ""
|
@@ -19,7 +19,7 @@ namespace :database do
|
|
19
19
|
data = capture("#{try_sudo} sh -c 'mysqldump -u#{config['database_user']} --host='#{config['database_host']}' --password='#{config['database_password']}' #{config['database_name']} | gzip -c > #{file}'")
|
20
20
|
puts data
|
21
21
|
when "pdo_pgsql", "pgsql"
|
22
|
-
data = capture("#{try_sudo} sh -c 'PGPASSWORD=\"#{config['database_password']}\" pg_dump -U #{config['database_user']} #{config['database_name']} --clean | gzip -c > #{file}'")
|
22
|
+
data = capture("#{try_sudo} sh -c 'PGPASSWORD=\"#{config['database_password']}\" pg_dump -U #{config['database_user']} #{config['database_name']} -h#{config['database_host']} --clean | gzip -c > #{file}'")
|
23
23
|
puts data
|
24
24
|
end
|
25
25
|
|
@@ -40,7 +40,7 @@ namespace :database do
|
|
40
40
|
|
41
41
|
desc "Dumps local database"
|
42
42
|
task :local do
|
43
|
-
filename = "#{application}.local_dump.#{Time.now.
|
43
|
+
filename = "#{application}.local_dump.#{Time.now.utc.strftime("%Y%m%d%H%M%S")}.sql.gz"
|
44
44
|
tmpfile = "#{backup_path}/#{application}_dump_tmp.sql"
|
45
45
|
file = "#{backup_path}/#{filename}"
|
46
46
|
config = load_database_config IO.read("#{app_config_path}/#{app_config_file}"), symfony_env_local
|
@@ -116,7 +116,7 @@ namespace :database do
|
|
116
116
|
data = capture("#{try_sudo} mysql -u#{config['database_user']} --host='#{config['database_host']}' --password='#{config['database_password']}' #{config['database_name']} < #{remote_tmp_dir}/#{sqlfile}")
|
117
117
|
puts data
|
118
118
|
when "pdo_pgsql", "pgsql"
|
119
|
-
data = capture("#{try_sudo} PGPASSWORD=\"#{config['database_password']}\" psql -U #{config['database_user']} #{config['database_name']} < #{remote_tmp_dir}/#{sqlfile}")
|
119
|
+
data = capture("#{try_sudo} PGPASSWORD=\"#{config['database_password']}\" psql -U #{config['database_user']} #{config['database_name']} -h#{config['database_host']} < #{remote_tmp_dir}/#{sqlfile}")
|
120
120
|
puts data
|
121
121
|
end
|
122
122
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
namespace :shared do
|
4
|
+
namespace :folder do
|
5
|
+
desc "Downloads a backup of the shared folder"
|
6
|
+
task :download do
|
7
|
+
env = fetch(:deploy_env, "remote")
|
8
|
+
filename = "#{application}.#{env}_shared.#{Time.now.utc.strftime("%Y%m%d%H%M%S")}.tar.gz"
|
9
|
+
file = "#{remote_tmp_dir}/#{filename}"
|
10
|
+
|
11
|
+
capifony_pretty_print "--> Making a temporary archive of the shared directory"
|
12
|
+
run "#{try_sudo} sh -c 'cd #{shared_path}; tar -zcvf #{file} --exclude='cached-copy' .'"
|
13
|
+
capifony_puts_ok
|
14
|
+
|
15
|
+
FileUtils.mkdir_p("backups/")
|
16
|
+
|
17
|
+
capifony_progress_start
|
18
|
+
get(file, "backups/#{filename}", :via => :scp) do |channel, name, sent, total|
|
19
|
+
capifony_progress_update(sent, total)
|
20
|
+
end
|
21
|
+
|
22
|
+
capifony_pretty_print "--> Cleaning up"
|
23
|
+
begin
|
24
|
+
FileUtils.ln_sf(filename, "backups/#{application}.#{env}_shared.latest.tar.gz")
|
25
|
+
rescue Exception # fallback for file systems that don't support symlinks
|
26
|
+
FileUtils.cp_r("backups/#{filename}", "backups/#{application}.#{env}_shared.latest.tar.gz")
|
27
|
+
end
|
28
|
+
run "#{try_sudo} rm -f #{file}"
|
29
|
+
capifony_puts_ok
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/symfony2/symfony.rb
CHANGED
@@ -149,11 +149,11 @@ namespace :symfony do
|
|
149
149
|
if use_composer_tmp
|
150
150
|
logger.debug "Installing composer dependencies to #{$temp_destination}"
|
151
151
|
capifony_pretty_print "--> Installing Composer dependencies in temp location"
|
152
|
-
run_locally "cd #{$temp_destination} && #{composer_bin} install #{options}"
|
152
|
+
run_locally "cd #{$temp_destination} && SYMFONY_ENV=#{symfony_env_prod} #{composer_bin} install #{options}"
|
153
153
|
capifony_puts_ok
|
154
154
|
else
|
155
155
|
capifony_pretty_print "--> Installing Composer dependencies"
|
156
|
-
run "#{try_sudo} sh -c 'cd #{latest_release} && #{composer_bin} install #{options}'"
|
156
|
+
run "#{try_sudo} sh -c 'cd #{latest_release} && SYMFONY_ENV=#{symfony_env_prod} #{composer_bin} install #{options}'"
|
157
157
|
capifony_puts_ok
|
158
158
|
end
|
159
159
|
end
|
@@ -183,14 +183,14 @@ namespace :symfony do
|
|
183
183
|
end
|
184
184
|
|
185
185
|
capifony_pretty_print "--> Dumping an optimized autoloader"
|
186
|
-
run "#{try_sudo} sh -c 'cd #{latest_release} && #{composer_bin} dump-autoload
|
186
|
+
run "#{try_sudo} sh -c 'cd #{latest_release} && #{composer_bin} dump-autoload #{composer_dump_autoload_options}'"
|
187
187
|
capifony_puts_ok
|
188
188
|
end
|
189
189
|
|
190
190
|
task :copy_vendors, :except => { :no_release => true } do
|
191
191
|
capifony_pretty_print "--> Copying vendors from previous release"
|
192
192
|
|
193
|
-
run "vendorDir=#{current_path}/vendor; if [ -d $vendorDir ] || [ -h $vendorDir ]; then cp -a $vendorDir #{latest_release}
|
193
|
+
run "vendorDir=#{current_path}/vendor; if [ -d $vendorDir ] || [ -h $vendorDir ]; then cp -a $vendorDir #{latest_release}; fi;"
|
194
194
|
capifony_puts_ok
|
195
195
|
end
|
196
196
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capifony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-09-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: capistrano
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- lib/symfony2/deploy.rb
|
130
130
|
- lib/symfony2/doctrine.rb
|
131
131
|
- lib/symfony2/propel.rb
|
132
|
+
- lib/symfony2/shared.rb
|
132
133
|
- lib/symfony2/symfony.rb
|
133
134
|
- lib/symfony2/web.rb
|
134
135
|
- README.md
|
@@ -136,7 +137,8 @@ files:
|
|
136
137
|
- CHANGELOG.md
|
137
138
|
- UPGRADE.md
|
138
139
|
homepage: http://capifony.org
|
139
|
-
licenses:
|
140
|
+
licenses:
|
141
|
+
- MIT
|
140
142
|
post_install_message:
|
141
143
|
rdoc_options: []
|
142
144
|
require_paths:
|