capistrano-former03 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -5
- data/lib/capistrano/former03/version.rb +1 -1
- data/lib/capistrano/tasks/former03.rake +26 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67b7d66c381ef6c78c06b1140493b6fcb76e37a4
|
4
|
+
data.tar.gz: 2b982ebdf4ad4d78b89b2c95d5fa66a6106bb042
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 659d77f10ccd256f5cc3763adc5a870f7d92e06d56f2a2523fdb0e0f73b55e38374fc15ea843ba645ae37df518a2fcd4786d0d8e86d94795d547500e3ca23e19
|
7
|
+
data.tar.gz: fda656e846548a2a32c77e4a526a0a3e87ea2419dc115e0e4fc144ee7746e303b1cb86cd17da2e9030132408f79a8a5a6e7f1295fb000e41269d6b743208eeb1
|
data/README.md
CHANGED
@@ -3,6 +3,11 @@ Capistrano extensions for FORMER 03
|
|
3
3
|
|
4
4
|
Adds Features for Capistrano that are needed for FORMER 03's deployment
|
5
5
|
|
6
|
+
[![Gem version](https://badge.fury.io/rb/capistrano-former03.png)][gem]
|
7
|
+
|
8
|
+
[capistrano]: https://github.com/capistrano/capistrano
|
9
|
+
[gem]: https://rubygems.org/gems/capistrano-former03
|
10
|
+
|
6
11
|
Implemented features:
|
7
12
|
--------------
|
8
13
|
|
@@ -15,15 +20,13 @@ Implemented features:
|
|
15
20
|
- Deploy own static compiled versions of busybox and rsync if configured / needed
|
16
21
|
- Relative symlinking (often needed if ssh or webapp is chrooted)
|
17
22
|
- Current directory is no symlink (some hosting provider don't support wwwroot symlinked)
|
23
|
+
- Fix rights at local_stage
|
18
24
|
|
19
25
|
(Planned) features:
|
20
26
|
--------------
|
21
27
|
|
28
|
+
-?
|
22
29
|
|
23
|
-
[![Gem version](https://badge.fury.io/rb/capistrano-former03)][gem]
|
24
|
-
|
25
|
-
[capistrano]: https://github.com/capistrano/capistrano
|
26
|
-
[gem]: https://rubygems.org/gems/capistrano-former03
|
27
30
|
|
28
31
|
Requirements
|
29
32
|
------------
|
@@ -83,6 +86,9 @@ deploy_busybox_bin | false | deploy a static version of busybox
|
|
83
86
|
deploy_rsync_bin | nil (Autodetect) | deploy a static version of rsync
|
84
87
|
relative_symlinks | true | create all symlinks with relative
|
85
88
|
current_path_real_dir | false | move actual release to current_path to have a real directory instead of symlink
|
89
|
+
ensure_file_mode | nil | If given all files are chmoded to that mode
|
90
|
+
ensure_dir_mode | nil | If given all directories are chmoded to that mode
|
91
|
+
ensure_path_mode | {} | Dictionary with path => mode mapping for special files/directories
|
86
92
|
|
87
93
|
Overview
|
88
94
|
--------
|
@@ -136,7 +142,7 @@ Author
|
|
136
142
|
- [simonswine][simonswine]
|
137
143
|
|
138
144
|
[linyows]: https://github.com/linyows
|
139
|
-
[simonswine]: https://github.com/
|
145
|
+
[simonswine]: https://github.com/simonswine
|
140
146
|
|
141
147
|
License
|
142
148
|
-------
|
@@ -19,6 +19,10 @@ namespace :former03 do
|
|
19
19
|
set :relative_symlinks, true
|
20
20
|
set :current_path_real_dir, false
|
21
21
|
|
22
|
+
set :ensure_file_mode, nil
|
23
|
+
set :ensure_dir_mode, nil
|
24
|
+
set :ensure_path_mode, {}
|
25
|
+
|
22
26
|
set :remote_stage_path, -> {
|
23
27
|
Pathname.new(deploy_to).join(fetch(:remote_stage))
|
24
28
|
}
|
@@ -84,9 +88,6 @@ namespace :former03 do
|
|
84
88
|
desc 'Create the local staging directory'
|
85
89
|
task :mkdir_stage => :check do
|
86
90
|
|
87
|
-
# Get full path of local stage
|
88
|
-
set :local_stage_path, Pathname.pwd.join(fetch(:local_stage))
|
89
|
-
|
90
91
|
# if already exits finish task
|
91
92
|
next if File.directory? fetch(:local_stage)
|
92
93
|
|
@@ -114,10 +115,9 @@ namespace :former03 do
|
|
114
115
|
git_submodule = [:git, :submodule]
|
115
116
|
|
116
117
|
run_locally do
|
117
|
-
# Bugfix for git versions < 1.9
|
118
|
-
|
119
118
|
# Check if .gitmodules exist
|
120
119
|
if test :test, '-e', '.gitmodules'
|
120
|
+
# Bugfix for git versions < 1.9
|
121
121
|
execute(*git_submodule, :init)
|
122
122
|
execute(*git_submodule, :sync)
|
123
123
|
execute(*git_submodule, :update)
|
@@ -134,7 +134,7 @@ namespace :former03 do
|
|
134
134
|
if test :test, '-e', '.gitmodules'
|
135
135
|
# check out all submodules
|
136
136
|
git_submodule = git_prefix + [:submodule]
|
137
|
-
git_submodule_foreach = git_submodule + [:foreach
|
137
|
+
git_submodule_foreach = git_submodule + [:foreach, :git, '--work-tree', '.']
|
138
138
|
execute(*git_submodule, :init)
|
139
139
|
execute(*git_submodule, :sync)
|
140
140
|
execute(*git_submodule, :update)
|
@@ -146,6 +146,25 @@ namespace :former03 do
|
|
146
146
|
end
|
147
147
|
end
|
148
148
|
end
|
149
|
+
desc 'Fix file/dir rights on local stage'
|
150
|
+
task :fix_rights => :stage do
|
151
|
+
run_locally do
|
152
|
+
within fetch(:local_stage_path) do
|
153
|
+
# fix files
|
154
|
+
if fetch(:ensure_file_mode)
|
155
|
+
execute :find, '.', '-type', :f, '-print0', '|', :xargs, '-0', :chmod, fetch(:ensure_file_mode)
|
156
|
+
end
|
157
|
+
# fix directories
|
158
|
+
if fetch(:ensure_dir_mode)
|
159
|
+
execute :find, '.', '-type', :d, '-print0', '|', :xargs, '-0', :chmod, fetch(:ensure_dir_mode)
|
160
|
+
end
|
161
|
+
# fix special paths
|
162
|
+
fetch(:ensure_path_mode).each do |path,mode|
|
163
|
+
execute :chmod, mode, path
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
149
168
|
end
|
150
169
|
|
151
170
|
namespace :remote do
|
@@ -210,7 +229,7 @@ namespace :former03 do
|
|
210
229
|
end
|
211
230
|
|
212
231
|
desc 'Sync to deployment hosts from local'
|
213
|
-
task :sync => [:check, 'former03:local:
|
232
|
+
task :sync => [:check, 'former03:local:fix_rights'] do
|
214
233
|
roles(:all).each do |role|
|
215
234
|
rsync = Capistrano::Former03::Rsync.new(
|
216
235
|
:src_path => fetch(:local_stage_path),
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-former03
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Simon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|