capifony 2.8.3 → 2.8.4
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 +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
|