capistrano-linked-files 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +6 -0
- data/.gitignore +0 -1
- data/.rubocop.yml +6 -0
- data/.travis.yml +9 -0
- data/CHANGELOG.md +17 -0
- data/Gemfile.lock +63 -0
- data/README.md +39 -9
- data/Rakefile +9 -0
- data/VERSION +1 -0
- data/capistrano-linked-files.gemspec +8 -4
- data/lib/capistrano/tasks/linked_files.rake +11 -6
- data/test/linked_files_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- metadata +64 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4d7dbeb4582c6068262dd26897a73cfec876eaa
|
4
|
+
data.tar.gz: f7cab7b83d9b6fac41211d7173d0751d188a7629
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2aa6307cd1b4f725fafd011de1fa690485574e228f46d20725d90cb9b128ba2da25c580031631523b9c42aee20f1b9f5acbfe3e8ee933ee3929792d6c0d28391
|
7
|
+
data.tar.gz: 184d4fb8ecaccaab37772704639a37c0b14084ef9ec301a55323a931cce8e85f4f804f7208be080a88c6483876b04e22ff1489e5f63647f34bc2205459c1b07f
|
data/.codeclimate.yml
ADDED
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
## 1.2.0 (2016-06-25)
|
6
|
+
* **Drop support for Ruby 1.9.3:** The latest version of Capistrano, 3.5, does no longer work with Ruby 1.9.3
|
7
|
+
* Upload files and directories to all roles by default, or roles specified by the user
|
8
|
+
* Added simple test
|
9
|
+
|
10
|
+
## 1.1.1 (2015-05-14)
|
11
|
+
* Default to empty array if `:linked*` doesn't exist
|
12
|
+
|
13
|
+
## 1.1.0 (2015-03-10)
|
14
|
+
* Added tasks to just upload files or directories
|
15
|
+
|
16
|
+
## 1.0.0 (2014-07-28)
|
17
|
+
* Initial release
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
capistrano-linked-files (1.2.0)
|
5
|
+
capistrano (~> 3.1)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
airbrussh (1.0.2)
|
11
|
+
sshkit (>= 1.6.1, != 1.7.0)
|
12
|
+
ast (2.3.0)
|
13
|
+
capistrano (3.5.0)
|
14
|
+
airbrussh (>= 1.0.0)
|
15
|
+
capistrano-harrow
|
16
|
+
i18n
|
17
|
+
rake (>= 10.0.0)
|
18
|
+
sshkit (>= 1.9.0)
|
19
|
+
capistrano-harrow (0.5.2)
|
20
|
+
codeclimate-test-reporter (0.5.2)
|
21
|
+
simplecov (>= 0.7.1, < 1.0.0)
|
22
|
+
docile (1.1.5)
|
23
|
+
i18n (0.7.0)
|
24
|
+
json (1.8.3)
|
25
|
+
minitest (5.9.0)
|
26
|
+
net-scp (1.2.1)
|
27
|
+
net-ssh (>= 2.6.5)
|
28
|
+
net-ssh (3.2.0)
|
29
|
+
parser (2.3.1.2)
|
30
|
+
ast (~> 2.2)
|
31
|
+
powerpack (0.1.1)
|
32
|
+
rainbow (2.1.0)
|
33
|
+
rake (11.2.2)
|
34
|
+
rubocop (0.40.0)
|
35
|
+
parser (>= 2.3.1.0, < 3.0)
|
36
|
+
powerpack (~> 0.1)
|
37
|
+
rainbow (>= 1.99.1, < 3.0)
|
38
|
+
ruby-progressbar (~> 1.7)
|
39
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
40
|
+
ruby-progressbar (1.8.1)
|
41
|
+
simplecov (0.11.2)
|
42
|
+
docile (~> 1.1.0)
|
43
|
+
json (~> 1.8)
|
44
|
+
simplecov-html (~> 0.10.0)
|
45
|
+
simplecov-html (0.10.0)
|
46
|
+
sshkit (1.11.1)
|
47
|
+
net-scp (>= 1.1.2)
|
48
|
+
net-ssh (>= 2.8.0)
|
49
|
+
unicode-display_width (1.1.0)
|
50
|
+
|
51
|
+
PLATFORMS
|
52
|
+
ruby
|
53
|
+
|
54
|
+
DEPENDENCIES
|
55
|
+
bundler (~> 1.12)
|
56
|
+
capistrano-linked-files!
|
57
|
+
codeclimate-test-reporter (~> 0.5)
|
58
|
+
minitest (~> 5.9)
|
59
|
+
rake (~> 11.2)
|
60
|
+
rubocop (~> 0.40)
|
61
|
+
|
62
|
+
BUNDLED WITH
|
63
|
+
1.12.5
|
data/README.md
CHANGED
@@ -1,10 +1,25 @@
|
|
1
1
|
# capistrano-linked-files
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
[![Gem Version](https://img.shields.io/gem/v/capistrano-linked-files.svg?style=flat-square)](http://badge.fury.io/rb/capistrano-linked-files)
|
4
|
+
[![Build Status](https://img.shields.io/travis/runar/capistrano-linked-files/master.svg?style=flat-square)](https://travis-ci.org/runar/capistrano-linked-files)
|
5
|
+
[![Code Climate](https://img.shields.io/codeclimate/github/runar/capistrano-linked-files.svg?style=flat-square)](https://codeclimate.com/github/runar/capistrano-linked-files)
|
6
|
+
[![Coverage Status](https://img.shields.io/codeclimate/coverage/github/runar/capistrano-linked-files.svg?style=flat-square)](https://codeclimate.com/github/runar/capistrano-linked-files/coverage)
|
7
|
+
[![Dependency Status](https://img.shields.io/gemnasium/runar/capistrano-linked-files.svg?style=flat-square)](https://gemnasium.com/runar/capistrano-linked-files)
|
8
|
+
|
9
|
+
This gem provides Capistrano 3.1 reciepes to upload your linked files and
|
10
|
+
directories. It's quite useful for files such as `config/database.yml` and
|
11
|
+
`config/secrets.yml`, which are usually ignored (at least they should be) from
|
12
|
+
version control systems.
|
13
|
+
|
14
|
+
Linked files and directories are placed in the `shared` directory on your
|
15
|
+
remote servers and kept between deployments. After a new deployment, a symlink
|
16
|
+
is created from the `shared` directory to the `current` directory.
|
17
|
+
|
18
|
+
Inspiration was found in damselem's
|
19
|
+
[capistrano-shared-files](https://github.com/damselem/capistrano-shared-file),
|
20
|
+
but capistrano-linked-files uses the "built in" Capistrano configuration
|
21
|
+
variables `linked_files` and `linked_dirs` instead of custom ones. This way
|
22
|
+
it's not necessary to specify your linked files twice.
|
8
23
|
|
9
24
|
## Installation
|
10
25
|
|
@@ -28,7 +43,8 @@ Add the gem to your `Capfile`:
|
|
28
43
|
require 'capistrano/linked_files'
|
29
44
|
```
|
30
45
|
|
31
|
-
In `deploy.rb`, list the files and directories you'd like to keep between
|
46
|
+
In `deploy.rb`, list the files and directories you'd like to keep between
|
47
|
+
deployments:
|
32
48
|
|
33
49
|
```ruby
|
34
50
|
set :linked_files, %w(config/database.yml config/secrets.yml)
|
@@ -41,6 +57,17 @@ Then run the task:
|
|
41
57
|
$ bundle exec cap <STAGE> linked_files:upload
|
42
58
|
```
|
43
59
|
|
60
|
+
By default, the listed files and directories are uploaded to all server roles.
|
61
|
+
You may change this by doing the following:
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
# Set upload roles using symbols
|
65
|
+
set :upload_roles, :all
|
66
|
+
|
67
|
+
# Set upload roles using arrays
|
68
|
+
set :upload_roles, %w(web app)
|
69
|
+
```
|
70
|
+
|
44
71
|
If you only want to upload files or dirs, then run the tasks accordingly:
|
45
72
|
|
46
73
|
```
|
@@ -48,7 +75,8 @@ $ bundle exec cap <STAGE> linked_files:upload_files
|
|
48
75
|
$ bundle exec cap <STAGE> linked_files:upload_dirs
|
49
76
|
```
|
50
77
|
|
51
|
-
To automatically upload linked files and directories after a new deployment,
|
78
|
+
To automatically upload linked files and directories after a new deployment,
|
79
|
+
add the following to your `deploy.rb`:
|
52
80
|
|
53
81
|
```ruby
|
54
82
|
# Uploading both linked_files and dirs
|
@@ -71,5 +99,7 @@ before :finishing, 'linked_files:upload_dirs'
|
|
71
99
|
|
72
100
|
## License
|
73
101
|
|
74
|
-
The capistrano-linked-files plugin is free software released under the MIT
|
75
|
-
|
102
|
+
The capistrano-linked-files plugin is free software released under the MIT
|
103
|
+
License. See
|
104
|
+
[LICENSE](https://github.com/runar/capistrano-linked-files/blob/master/LICENSE)
|
105
|
+
for details.
|
data/Rakefile
CHANGED
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.2.0
|
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'capistrano-linked-files'
|
6
|
-
s.version = '
|
6
|
+
s.version = File.read('VERSION').strip
|
7
7
|
s.summary = 'Upload linked files and directories.'
|
8
8
|
s.description = 'Adds tasks to upload your linked files and directories. '
|
9
9
|
|
@@ -12,11 +12,15 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.homepage = 'https://github.com/runar/capistrano-linked-files'
|
13
13
|
s.license = 'MIT'
|
14
14
|
|
15
|
-
s.files = `git ls-files`.split(
|
15
|
+
s.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
16
|
+
s.test_files = s.files.grep(/^test/)
|
16
17
|
s.require_paths = ['lib']
|
17
18
|
|
18
19
|
s.add_dependency 'capistrano', '~> 3.1'
|
19
20
|
|
20
|
-
s.add_development_dependency 'bundler'
|
21
|
-
s.add_development_dependency '
|
21
|
+
s.add_development_dependency 'bundler', '~> 1.12'
|
22
|
+
s.add_development_dependency 'codeclimate-test-reporter', '~> 0.5'
|
23
|
+
s.add_development_dependency 'minitest', '~> 5.9'
|
24
|
+
s.add_development_dependency 'rake', '~> 11.2'
|
25
|
+
s.add_development_dependency 'rubocop', '~> 0.40'
|
22
26
|
end
|
@@ -1,5 +1,11 @@
|
|
1
|
-
namespace :
|
1
|
+
namespace :load do
|
2
|
+
task :defaults do
|
3
|
+
set :upload_roles, :all
|
4
|
+
set :upload_servers, -> { release_roles(fetch(:upload_roles)) }
|
5
|
+
end
|
6
|
+
end
|
2
7
|
|
8
|
+
namespace :linked_files do
|
3
9
|
desc 'Upload linked files and directories'
|
4
10
|
task :upload do
|
5
11
|
invoke 'linked_files:upload:files'
|
@@ -13,9 +19,9 @@ namespace :linked_files do
|
|
13
19
|
end
|
14
20
|
|
15
21
|
namespace :upload do
|
16
|
-
|
17
22
|
task :files do
|
18
|
-
on
|
23
|
+
on fetch(:upload_servers) do
|
24
|
+
info "Uploading files to: #{fetch(:upload_roles)}"
|
19
25
|
fetch(:linked_files, []).each do |file|
|
20
26
|
upload! file, "#{shared_path}/#{file}"
|
21
27
|
end
|
@@ -23,15 +29,14 @@ namespace :linked_files do
|
|
23
29
|
end
|
24
30
|
|
25
31
|
task :dirs do
|
26
|
-
on
|
32
|
+
on fetch(:upload_servers) do
|
33
|
+
info "Uploading directories to: #{fetch(:upload_roles)}"
|
27
34
|
fetch(:linked_dirs, []).each do |dir|
|
28
35
|
upload! dir, "#{shared_path}/", recursive: true
|
29
36
|
end
|
30
37
|
end
|
31
38
|
end
|
32
|
-
|
33
39
|
end
|
34
40
|
|
35
41
|
before 'linked_files:upload', 'deploy:check:make_linked_dirs'
|
36
|
-
|
37
42
|
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'codeclimate-test-reporter'
|
2
|
+
CodeClimate::TestReporter.start
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'capistrano/all'
|
7
|
+
require 'capistrano/setup'
|
8
|
+
require 'minitest/autorun'
|
9
|
+
require 'rake'
|
10
|
+
|
11
|
+
class UnitTest < Minitest::Test
|
12
|
+
def setup
|
13
|
+
set :upload_roles, :all
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-linked-files
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Runar Skaare Tveiten
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -28,30 +28,72 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '1.12'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '1.12'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: codeclimate-test-reporter
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.5'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.9'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '5.9'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: rake
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
44
72
|
requirements:
|
45
|
-
- - "
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '11.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '11.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
46
88
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
89
|
+
version: '0.40'
|
48
90
|
type: :development
|
49
91
|
prerelease: false
|
50
92
|
version_requirements: !ruby/object:Gem::Requirement
|
51
93
|
requirements:
|
52
|
-
- - "
|
94
|
+
- - "~>"
|
53
95
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
96
|
+
version: '0.40'
|
55
97
|
description: 'Adds tasks to upload your linked files and directories. '
|
56
98
|
email:
|
57
99
|
- runar@tveiten.io
|
@@ -59,15 +101,23 @@ executables: []
|
|
59
101
|
extensions: []
|
60
102
|
extra_rdoc_files: []
|
61
103
|
files:
|
104
|
+
- ".codeclimate.yml"
|
62
105
|
- ".gitignore"
|
106
|
+
- ".rubocop.yml"
|
107
|
+
- ".travis.yml"
|
108
|
+
- CHANGELOG.md
|
63
109
|
- Gemfile
|
110
|
+
- Gemfile.lock
|
64
111
|
- LICENSE
|
65
112
|
- README.md
|
66
113
|
- Rakefile
|
114
|
+
- VERSION
|
67
115
|
- capistrano-linked-files.gemspec
|
68
116
|
- lib/capistrano-linked-files.rb
|
69
117
|
- lib/capistrano/linked_files.rb
|
70
118
|
- lib/capistrano/tasks/linked_files.rake
|
119
|
+
- test/linked_files_test.rb
|
120
|
+
- test/test_helper.rb
|
71
121
|
homepage: https://github.com/runar/capistrano-linked-files
|
72
122
|
licenses:
|
73
123
|
- MIT
|
@@ -88,8 +138,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
138
|
version: '0'
|
89
139
|
requirements: []
|
90
140
|
rubyforge_project:
|
91
|
-
rubygems_version: 2.
|
141
|
+
rubygems_version: 2.4.5
|
92
142
|
signing_key:
|
93
143
|
specification_version: 4
|
94
144
|
summary: Upload linked files and directories.
|
95
|
-
test_files:
|
145
|
+
test_files:
|
146
|
+
- test/linked_files_test.rb
|
147
|
+
- test/test_helper.rb
|