capistrano-upload-config 0.7.0 → 0.8.2
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.
- checksums.yaml +4 -4
- data/README.md +14 -1
- data/capistrano-upload-config.gemspec +1 -1
- data/lib/capistrano/tasks/upload-config.rake +5 -6
- data/lib/capistrano/upload-config.rb +3 -3
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 358c1cccd790b716915fa7f506cd42460620b91b
|
4
|
+
data.tar.gz: 9db4df937dd439546bcb70bc426cd345a6e833ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b05de93c46b982ef597d735d651f30792ee08be7a81fdf2ed526eef58f9d5b760b7b77e99ee78828c972a6b91d697f0d336a11bd63e041bbc6749e3786dca62
|
7
|
+
data.tar.gz: 538de4da01294100d615b13448f0d8deeff29b4dc042ea16f9c33d28def5310b11f202664e568c781fe6f8a442c583d3354d025821f6a65cfa94b950ab534c49
|
data/README.md
CHANGED
@@ -76,7 +76,7 @@ This task creates the config on the remote server.
|
|
76
76
|
|
77
77
|
|
78
78
|
```shell
|
79
|
-
$ cap staging config:
|
79
|
+
$ cap staging config:push
|
80
80
|
WARN Already Exists: config/database.staging.yml
|
81
81
|
INFO Copied: config/example.yml-example to config/example.staging.yml
|
82
82
|
Created: config/foobar.staging.yml as empty file
|
@@ -113,6 +113,7 @@ Configurable options, shown here with defaults:
|
|
113
113
|
```ruby
|
114
114
|
set :config_files, fetch(:linked_files)
|
115
115
|
set :config_example_suffix, '-example'
|
116
|
+
set :local_base_dir, ''
|
116
117
|
```
|
117
118
|
|
118
119
|
By default your `:linked_files` are assumed to be config files, this might be totally wrong for your environment, never fear just:
|
@@ -156,6 +157,18 @@ set :config_files, [ ".env.php" ]
|
|
156
157
|
Running `cap staging config:push` will upload the remote file as
|
157
158
|
`.env.staging.php`, rather than `.env.php`.
|
158
159
|
|
160
|
+
#### Local Base Dir
|
161
|
+
|
162
|
+
Using this option you can base your local config file/s in any directory, if unset they're assumed to be in the current directory tree.
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
# in deploy.rb
|
166
|
+
|
167
|
+
set :local_base_dir, '..'
|
168
|
+
```
|
169
|
+
|
170
|
+
For example Capistrano is outside of the application root and your config lives relative to the directory above.
|
171
|
+
|
159
172
|
## Contributing
|
160
173
|
|
161
174
|
1. Fork it
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'capistrano-upload-config'
|
7
|
-
spec.version = '0.
|
7
|
+
spec.version = '0.8.2'
|
8
8
|
spec.authors = 'Robert Coleman'
|
9
9
|
spec.email = 'github@robert.net.nz'
|
10
10
|
spec.description = %q{Capistrano 3.x tasks to upload shared config that is stored outside of SCM}
|
@@ -4,7 +4,7 @@ namespace :config do
|
|
4
4
|
task :init do
|
5
5
|
run_locally do
|
6
6
|
fetch(:config_files).each do |config|
|
7
|
-
local_path = CapistranoUploadConfig::Helpers.
|
7
|
+
local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
|
8
8
|
if File.exists?(local_path)
|
9
9
|
warn "Already Exists: #{local_path}"
|
10
10
|
else
|
@@ -25,7 +25,7 @@ namespace :config do
|
|
25
25
|
task :check do
|
26
26
|
run_locally do
|
27
27
|
fetch(:config_files).each do |config|
|
28
|
-
local_path = CapistranoUploadConfig::Helpers.
|
28
|
+
local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
|
29
29
|
if File.exists?(local_path)
|
30
30
|
info "Found: #{local_path}"
|
31
31
|
else
|
@@ -41,7 +41,7 @@ namespace :config do
|
|
41
41
|
within shared_path do
|
42
42
|
use_stage_remotely = fetch(:config_use_stage_remotely)
|
43
43
|
fetch(:config_files).each do |config|
|
44
|
-
local_path = CapistranoUploadConfig::Helpers.
|
44
|
+
local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
|
45
45
|
server_name = use_stage_remotely ? local_path.split('/').last : config
|
46
46
|
if File.exists?(local_path)
|
47
47
|
info "Uploading config #{local_path} as #{server_name}"
|
@@ -60,7 +60,7 @@ namespace :config do
|
|
60
60
|
within shared_path do
|
61
61
|
use_stage_remotely = fetch(:config_use_stage_remotely)
|
62
62
|
fetch(:config_files).each do |config|
|
63
|
-
local_path = CapistranoUploadConfig::Helpers.
|
63
|
+
local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
|
64
64
|
server_name = use_stage_remotely ? local_path.split('/').last : config
|
65
65
|
info "Downloading config #{server_name} as #{local_path} "
|
66
66
|
download! File.join(shared_path, server_name), local_path
|
@@ -73,12 +73,11 @@ end
|
|
73
73
|
|
74
74
|
namespace :load do
|
75
75
|
task :defaults do
|
76
|
-
|
76
|
+
set :local_base_dir, '.'
|
77
77
|
set :config_files, -> { fetch(:linked_files) }
|
78
78
|
set :config_example_suffix, '-example'
|
79
79
|
# https://github.com/rjocoleman/capistrano-upload-config/issues/1
|
80
80
|
set :config_example_prefix, -> { fetch(:config_example_suffix) }
|
81
81
|
set :config_use_stage_remotely, false
|
82
|
-
|
83
82
|
end
|
84
83
|
end
|
@@ -4,14 +4,14 @@ module CapistranoUploadConfig
|
|
4
4
|
class Helpers
|
5
5
|
class << self
|
6
6
|
|
7
|
-
def
|
8
|
-
path = File.dirname(config)
|
7
|
+
def get_config_name(config, stage, local_base_dir)
|
8
|
+
path = File.dirname(File.join(local_base_dir, config))
|
9
9
|
extension = File.extname(config)
|
10
10
|
filename = File.basename(config, extension)
|
11
11
|
extension.sub!(/^\./, '')
|
12
12
|
local_file = [filename, stage].join('.')
|
13
13
|
local_file = [local_file, extension].join('.') unless extension.empty?
|
14
|
-
|
14
|
+
File.join(path, local_file)
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-upload-config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Coleman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -88,9 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
88
|
version: '0'
|
89
89
|
requirements: []
|
90
90
|
rubyforge_project:
|
91
|
-
rubygems_version: 2.
|
91
|
+
rubygems_version: 2.5.2
|
92
92
|
signing_key:
|
93
93
|
specification_version: 4
|
94
94
|
summary: Capistrano 3.x tasks to upload shared config that is stored outside of SCM
|
95
95
|
test_files: []
|
96
|
-
has_rdoc:
|