capistrano-former03 0.0.2 → 0.0.3
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/bin/f03capinstall +3 -0
- data/lib/capistrano/former03/install.rb +115 -0
- data/lib/capistrano/former03/templates/Capfile +8 -0
- data/lib/capistrano/former03/templates/deploy.rb.erb +38 -0
- data/lib/capistrano/former03/templates/stage.rb.erb +27 -0
- data/lib/capistrano/former03/version.rb +1 -1
- metadata +40 -16
- checksums.yaml +0 -7
data/bin/f03capinstall
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
require 'ostruct'
|
2
|
+
require 'optparse'
|
3
|
+
require 'logger'
|
4
|
+
require 'erb'
|
5
|
+
require 'fileutils'
|
6
|
+
|
7
|
+
module Capistrano
|
8
|
+
module Former03
|
9
|
+
# Install application
|
10
|
+
class Install
|
11
|
+
@@name = 'f03capinstall'
|
12
|
+
|
13
|
+
def initialize
|
14
|
+
@options = {}
|
15
|
+
@argv = nil
|
16
|
+
@log = Logger.new(STDOUT)
|
17
|
+
@log.level = Logger::INFO
|
18
|
+
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
def parse_arguments
|
23
|
+
options = OpenStruct.new
|
24
|
+
options.stages = ['production','staging','development']
|
25
|
+
options.force = false
|
26
|
+
options.verbose = false
|
27
|
+
|
28
|
+
opt_parser = OptionParser.new do |opts|
|
29
|
+
opts.banner = "Usage: #{@@name} [options]"
|
30
|
+
# Boolean switch
|
31
|
+
opts.on("-s", "--stages [#{options.stages.join(',')}]", Array, "Specify custom stage names") do |s|
|
32
|
+
options.stages = stages
|
33
|
+
end
|
34
|
+
|
35
|
+
opts.on("-f", "--force", "Overwrite existing files") do |v|
|
36
|
+
options.force = v
|
37
|
+
end
|
38
|
+
|
39
|
+
opts.on("-v", "--verbose", "Run verbosely") do |v|
|
40
|
+
options.verbose = v
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
opt_parser.parse!(@argv)
|
45
|
+
|
46
|
+
@options = options
|
47
|
+
|
48
|
+
if @options.verbose
|
49
|
+
@log.level = Logger::DEBUG
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def setup_templates
|
54
|
+
template_dir = Pathname.new(File.expand_path("../templates/", __FILE__))
|
55
|
+
@log.debug "Search for templates in path '#{template_dir}'"
|
56
|
+
@template_deploy_rb = ERB.new template_dir.join('deploy.rb.erb').read
|
57
|
+
@template_stage_rb = ERB.new template_dir.join('stage.rb.erb').read
|
58
|
+
@template_capfile = ERB.new template_dir.join('Capfile').read
|
59
|
+
end
|
60
|
+
|
61
|
+
def generate_files
|
62
|
+
pwd = Pathname.pwd
|
63
|
+
generate_file pwd.join('Capfile'), @template_capfile
|
64
|
+
generate_file pwd.join('config/deploy.rb'), @template_deploy_rb
|
65
|
+
@options.stages.each do |stage|
|
66
|
+
generate_file pwd.join("config/deploy/#{stage}.rb"), @template_stage_rb, stage
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def generate_file (path,template,stage=nil)
|
71
|
+
require 'capistrano/version'
|
72
|
+
|
73
|
+
if not path.dirname.directory?
|
74
|
+
@log.debug "create directory '#{path.dirname}"
|
75
|
+
FileUtils.mkdir_p path.dirname
|
76
|
+
end
|
77
|
+
|
78
|
+
if path.exist?
|
79
|
+
if @options.force
|
80
|
+
@log.warn "Overwriting file '#{path}'. To overwrite it use flag --force"
|
81
|
+
path.delete
|
82
|
+
else
|
83
|
+
@log.warn "won't overwrite already existing file '#{path}'. To overwrite it use flag --force"
|
84
|
+
return
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
f=path.open('w')
|
89
|
+
f.write(template.result(binding))
|
90
|
+
f.close
|
91
|
+
|
92
|
+
@log.info "Wrote file '#{path}'"
|
93
|
+
end
|
94
|
+
|
95
|
+
# Main method of application
|
96
|
+
def run
|
97
|
+
@argv = ARGV.dup
|
98
|
+
|
99
|
+
# Parse arguments
|
100
|
+
parse_arguments
|
101
|
+
|
102
|
+
# logging
|
103
|
+
@log.debug "#{@@name} is starting with arguments: #{ARGV}"
|
104
|
+
@log.debug "Parsed options: #{@options}"
|
105
|
+
|
106
|
+
# setup templates
|
107
|
+
setup_templates
|
108
|
+
|
109
|
+
# generate the actual files
|
110
|
+
generate_files
|
111
|
+
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# ensure this version of capistrano is used
|
2
|
+
lock '<%= Capistrano::VERSION %>'
|
3
|
+
|
4
|
+
set :application, '<MY_APP_NAME>'
|
5
|
+
|
6
|
+
# Link files into deploy destination
|
7
|
+
# set :linked_files, ['wwwroot/config.inc.php']
|
8
|
+
|
9
|
+
# Link directories into deploy destination
|
10
|
+
# set :linked_dirs, ['wwwroot/typo3temp']
|
11
|
+
|
12
|
+
# Default value for keep_releases is 5
|
13
|
+
# set :keep_releases, 5
|
14
|
+
|
15
|
+
# Ensure rights for all files/dirs
|
16
|
+
# set :ensure_file_mode, '644'
|
17
|
+
# set :ensure_dir_mode, '755'
|
18
|
+
|
19
|
+
# Special rights for single files
|
20
|
+
#set :ensure_path_mode, {
|
21
|
+
# 'wwwroot/secret.conf' => '400',
|
22
|
+
# 'wwwroot/public_writable_dir' => '777',
|
23
|
+
#}
|
24
|
+
|
25
|
+
# Execute custom task after local stage (example default task)
|
26
|
+
=begin
|
27
|
+
namespace :custom do
|
28
|
+
desc 'Run rakefile'
|
29
|
+
task :rakefile do
|
30
|
+
run_locally do
|
31
|
+
within fetch(:local_stage_path) do
|
32
|
+
execute 'bundle exec rake'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
after 'former03:local:stage', 'custom:rakefile'
|
38
|
+
=end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Force deployment of busybox for standard commadns
|
2
|
+
#set :deploy_busybox_bin, true
|
3
|
+
|
4
|
+
# Force deployment of own rsync binary
|
5
|
+
#set :deploy_rsync_bin, true
|
6
|
+
|
7
|
+
# Move current dir to current/current, workaround for symlink problems
|
8
|
+
#set :current_path_real_dir, true
|
9
|
+
|
10
|
+
# Example for password authentication (you probably want to use public keys)
|
11
|
+
=begin
|
12
|
+
set :ssh_options, {
|
13
|
+
:forward_agent => false,
|
14
|
+
:auth_methods => %w(password),
|
15
|
+
:password => '<passw0rd>',
|
16
|
+
}
|
17
|
+
=end
|
18
|
+
|
19
|
+
# Destination directory for deployment
|
20
|
+
set :deploy_to, '<DESTDIR>'
|
21
|
+
|
22
|
+
# Configure remote server
|
23
|
+
server '<DNSNAME>',
|
24
|
+
roles: %w{web},
|
25
|
+
user: '<USER>'
|
26
|
+
|
27
|
+
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
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.3
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Christian Simon
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-
|
12
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: capistrano
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - '='
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - '='
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,63 +30,72 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: bundler
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '0'
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '0'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rake
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- - '>='
|
51
|
+
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '0'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- - '>='
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: capistrano-spec
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- - '>='
|
67
|
+
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: '0'
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- - '>='
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '0'
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: rspec
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- - '>='
|
83
|
+
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: 2.5.0
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- - '>='
|
91
|
+
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: 2.5.0
|
83
94
|
description: Capistrano with extensions for FORMER 03
|
84
95
|
email:
|
85
96
|
- simon@swine.de
|
86
|
-
executables:
|
97
|
+
executables:
|
98
|
+
- f03capinstall
|
87
99
|
extensions: []
|
88
100
|
extra_rdoc_files: []
|
89
101
|
files:
|
@@ -92,11 +104,16 @@ files:
|
|
92
104
|
- LICENSE.txt
|
93
105
|
- README.md
|
94
106
|
- Rakefile
|
107
|
+
- bin/f03capinstall
|
95
108
|
- capistrano-former03.gemspec
|
96
109
|
- lib/capistrano/former03.rb
|
97
110
|
- lib/capistrano/former03/deploy_command.rb
|
111
|
+
- lib/capistrano/former03/install.rb
|
98
112
|
- lib/capistrano/former03/rsync.rb
|
99
113
|
- lib/capistrano/former03/symlink.rb
|
114
|
+
- lib/capistrano/former03/templates/Capfile
|
115
|
+
- lib/capistrano/former03/templates/deploy.rb.erb
|
116
|
+
- lib/capistrano/former03/templates/stage.rb.erb
|
100
117
|
- lib/capistrano/former03/version.rb
|
101
118
|
- lib/capistrano/tasks/former03.rake
|
102
119
|
- share/build_rsync.sh
|
@@ -110,26 +127,33 @@ files:
|
|
110
127
|
homepage: https://github.com/former03/capistrano-former03
|
111
128
|
licenses:
|
112
129
|
- MIT
|
113
|
-
metadata: {}
|
114
130
|
post_install_message:
|
115
131
|
rdoc_options: []
|
116
132
|
require_paths:
|
117
133
|
- lib
|
118
134
|
required_ruby_version: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
119
136
|
requirements:
|
120
|
-
- - '>='
|
137
|
+
- - ! '>='
|
121
138
|
- !ruby/object:Gem::Version
|
122
139
|
version: '0'
|
140
|
+
segments:
|
141
|
+
- 0
|
142
|
+
hash: 2410931206260644472
|
123
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
124
145
|
requirements:
|
125
|
-
- - '>='
|
146
|
+
- - ! '>='
|
126
147
|
- !ruby/object:Gem::Version
|
127
148
|
version: '0'
|
149
|
+
segments:
|
150
|
+
- 0
|
151
|
+
hash: 2410931206260644472
|
128
152
|
requirements: []
|
129
153
|
rubyforge_project:
|
130
|
-
rubygems_version:
|
154
|
+
rubygems_version: 1.8.23
|
131
155
|
signing_key:
|
132
|
-
specification_version:
|
156
|
+
specification_version: 3
|
133
157
|
summary: Capistrano with extensions for FORMER 03
|
134
158
|
test_files:
|
135
159
|
- spec/helpers.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 67b7d66c381ef6c78c06b1140493b6fcb76e37a4
|
4
|
-
data.tar.gz: 2b982ebdf4ad4d78b89b2c95d5fa66a6106bb042
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 659d77f10ccd256f5cc3763adc5a870f7d92e06d56f2a2523fdb0e0f73b55e38374fc15ea843ba645ae37df518a2fcd4786d0d8e86d94795d547500e3ca23e19
|
7
|
-
data.tar.gz: fda656e846548a2a32c77e4a526a0a3e87ea2419dc115e0e4fc144ee7746e303b1cb86cd17da2e9030132408f79a8a5a6e7f1295fb000e41269d6b743208eeb1
|