capifony 2.8.3 → 2.8.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +10 -3
- data/README.md +12 -0
- data/bin/capifony +1 -1
- data/lib/capifony_symfony2.rb +9 -2
- data/lib/symfony2/deploy.rb +0 -14
- data/lib/symfony2/symfony.rb +30 -4
- data/lib/symfony2/web.rb +9 -3
- metadata +2 -2
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,15 @@
|
|
1
|
+
### 2.8.4 / April 13, 2015
|
2
|
+
|
3
|
+
* Fixed: update_assets_version by date of last modified file
|
4
|
+
* Fixed: replace latest_release with current_path and write tests
|
5
|
+
|
6
|
+
*Important:* http://williamdurand.fr/2015/04/11/on-capifony-and-its-future/
|
7
|
+
|
1
8
|
### 2.8.3 / December 17, 2014
|
2
9
|
|
3
|
-
Fixed: rollback using the sudo context if available.
|
4
|
-
Fixed: support for hosts other then localhost when using `database:copy:to_local`
|
5
|
-
Fixed: revert "Recreated composer autoload after `deploy:rollback`
|
10
|
+
* Fixed: rollback using the sudo context if available.
|
11
|
+
* Fixed: support for hosts other then localhost when using `database:copy:to_local`
|
12
|
+
* Fixed: revert "Recreated composer autoload after `deploy:rollback`
|
6
13
|
|
7
14
|
### 2.8.2 / October 7, 2014
|
8
15
|
|
data/README.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
#### Hi! This is your captain speaking.
|
2
|
+
|
3
|
+
#### **Capifony** is based on *Capistrano v2.x* and will stick to this version (i.e. Capifony is feature-frozen, and will only accept bug fixes).
|
4
|
+
|
5
|
+
#### At the time of writing, [*Capistrano v3*](http://capistranorb.com/) is the current major version, and *Capifony is not compatible* with it.
|
6
|
+
|
7
|
+
#### Don't worry, there is a plugin for that! Using *Capistrano v3* + [*capistrano/symfony*](https://github.com/capistrano/symfony) (heavily inspired by *Capifony*) may be the way to go for new projects! You can [read more on capifony and its future](http://williamdurand.fr/2015/04/11/on-capifony-and-its-future/).
|
8
|
+
|
9
|
+
#### Cheers!
|
10
|
+
|
11
|
+
---
|
12
|
+
|
1
13
|
Capifony
|
2
14
|
========
|
3
15
|
|
data/bin/capifony
CHANGED
data/lib/capifony_symfony2.rb
CHANGED
@@ -95,9 +95,12 @@ module Capifony
|
|
95
95
|
set :assets_relative, false
|
96
96
|
set :assets_install_path, web_path
|
97
97
|
|
98
|
-
# Whether to update `assets_version` in `
|
98
|
+
# Whether to update `assets_version` parameter in `assets_version.yml`
|
99
99
|
set :update_assets_version, false
|
100
100
|
|
101
|
+
# Whether to normalize assets timestamps
|
102
|
+
set :normalize_asset_timestamps, false
|
103
|
+
|
101
104
|
# Need to clear *_dev controllers
|
102
105
|
set :clear_controllers, true
|
103
106
|
|
@@ -282,7 +285,11 @@ module Capifony
|
|
282
285
|
|
283
286
|
after "deploy:finalize_update" do
|
284
287
|
if update_assets_version
|
285
|
-
symfony.assets.update_version
|
288
|
+
symfony.assets.update_version
|
289
|
+
end
|
290
|
+
|
291
|
+
if normalize_asset_timestamps
|
292
|
+
symfony.assets.normalize_timestamps
|
286
293
|
end
|
287
294
|
|
288
295
|
if use_composer && !use_composer_tmp
|
data/lib/symfony2/deploy.rb
CHANGED
@@ -105,20 +105,6 @@ namespace :deploy do
|
|
105
105
|
capifony_puts_ok
|
106
106
|
|
107
107
|
share_childs
|
108
|
-
|
109
|
-
if fetch(:normalize_asset_timestamps, true)
|
110
|
-
stamp = Time.now.utc.strftime("%Y%m%d%H%M.%S")
|
111
|
-
asset_paths = asset_children.map { |p| "#{latest_release}/#{p}" }.join(" ")
|
112
|
-
|
113
|
-
if asset_paths.chomp.empty?
|
114
|
-
puts " No asset paths found, skipped".yellow
|
115
|
-
else
|
116
|
-
capifony_pretty_print "--> Normalizing asset timestamps"
|
117
|
-
|
118
|
-
run "#{try_sudo} find #{asset_paths} -exec touch -t #{stamp} {} ';' &> /dev/null || true", :env => { "TZ" => "UTC" }
|
119
|
-
capifony_puts_ok
|
120
|
-
end
|
121
|
-
end
|
122
108
|
end
|
123
109
|
|
124
110
|
desc <<-DESC
|
data/lib/symfony2/symfony.rb
CHANGED
@@ -25,12 +25,38 @@ namespace :symfony do
|
|
25
25
|
end
|
26
26
|
|
27
27
|
namespace :assets do
|
28
|
-
desc "
|
28
|
+
desc "Creates a config file (assets_version.yml) withe latest asset version"
|
29
29
|
task :update_version, :roles => :app, :except => { :no_release => true } do
|
30
|
-
capifony_pretty_print "--> Updating
|
30
|
+
capifony_pretty_print "--> Updating `assets_version`"
|
31
|
+
asset_paths = asset_children.map { |p| "#{latest_release}/#{p}" }.join(" ")
|
31
32
|
|
32
|
-
|
33
|
-
|
33
|
+
if asset_paths.chomp.empty?
|
34
|
+
puts " No asset paths found, skipped".yellow
|
35
|
+
else
|
36
|
+
assets_version = capture("find #{asset_paths} -type f -printf '%Ts\\n' | sort -n | tail -1")
|
37
|
+
assets_version = assets_version.to_i.to_s(36)
|
38
|
+
puts " Latest assets version: (#{assets_version})"
|
39
|
+
|
40
|
+
file_path = "#{latest_release}/#{app_config_path}/assets_version.yml"
|
41
|
+
file_content = "parameters:\\n assets_version: #{assets_version}"
|
42
|
+
run "echo '#{file_content}' | #{try_sudo} tee #{file_path}"
|
43
|
+
capifony_puts_ok
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
desc "Normalizes assets timestamps"
|
48
|
+
task :normalize_timestamps, :roles => :app, :except => { :no_release => true } do
|
49
|
+
stamp = Time.now.utc.strftime("%Y%m%d%H%M.%S")
|
50
|
+
asset_paths = asset_children.map { |p| "#{latest_release}/#{p}" }.join(" ")
|
51
|
+
|
52
|
+
if asset_paths.chomp.empty?
|
53
|
+
puts " No asset paths found, skipped".yellow
|
54
|
+
else
|
55
|
+
capifony_pretty_print "--> Normalizing asset timestamps"
|
56
|
+
|
57
|
+
run "#{try_sudo} find #{asset_paths} -exec touch -t #{stamp} {} ';' &> /dev/null || true", :env => { "TZ" => "UTC" }
|
58
|
+
capifony_puts_ok
|
59
|
+
end
|
34
60
|
end
|
35
61
|
|
36
62
|
desc "Installs bundle's assets"
|
data/lib/symfony2/web.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
namespace :deploy do
|
2
2
|
namespace :web do
|
3
|
+
|
3
4
|
desc <<-DESC
|
4
5
|
Present a maintenance page to visitors. Disables your application's web \
|
5
6
|
interface by writing a "#{maintenance_basename}.html" file to each web server. The \
|
@@ -43,14 +44,18 @@ namespace :deploy do
|
|
43
44
|
DESC
|
44
45
|
task :disable, :roles => :web, :except => { :no_release => true } do
|
45
46
|
require 'erb'
|
46
|
-
|
47
|
+
maintenance_file_path = "#{current_path}/#{web_path}/#{maintenance_basename}.html"
|
48
|
+
on_rollback { run "rm #{maintenance_file_path}" }
|
47
49
|
|
48
50
|
reason = ENV['REASON']
|
49
51
|
deadline = ENV['UNTIL']
|
50
52
|
template = File.read(maintenance_template_path)
|
51
53
|
result = ERB.new(template).result(binding)
|
52
54
|
|
53
|
-
|
55
|
+
file = File.new(maintenance_file_path, "w")
|
56
|
+
file.syswrite(result)
|
57
|
+
file.chmod(0644)
|
58
|
+
file.close
|
54
59
|
end
|
55
60
|
|
56
61
|
desc <<-DESC
|
@@ -60,7 +65,8 @@ namespace :deploy do
|
|
60
65
|
web-accessible again.
|
61
66
|
DESC
|
62
67
|
task :enable, :roles => :web, :except => { :no_release => true } do
|
63
|
-
|
68
|
+
maintenance_file_path = "#{current_path}/#{web_path}/#{maintenance_basename}.html"
|
69
|
+
run "#{try_sudo} rm -f #{maintenance_file_path}"
|
64
70
|
end
|
65
71
|
end
|
66
72
|
end
|
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.8.
|
4
|
+
version: 2.8.4
|
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:
|
13
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: capistrano
|