slnky 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/capistrano/slnky/helpers.rb +56 -0
- data/lib/capistrano/slnky/templates/upstart.conf.erb +16 -0
- data/lib/capistrano/tasks/slnky.rake +8 -6
- data/lib/slnky/service.rb +2 -1
- data/lib/slnky/template/service/{service.erb → service-slnky-NAME.erb} +0 -0
- data/lib/slnky/version.rb +1 -1
- metadata +5 -4
- data/lib/slnky/template/service/upstart/init.conf.erb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 477bf08c5bdd20d0a2abf503ab78f50a70e4e3ad
|
4
|
+
data.tar.gz: 1f10dc0f2b82bb25753048de854d9e711a23fc04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ba8be43abde4f269d305ca5061a0e1f84913f6b68ac97d46b74a3534df8e722c481cb244f5bafa4e9b18492b60d93eb5c7ba65e946da48ac6c7b9a21ffffd5d
|
7
|
+
data.tar.gz: 55eea47aafc19ddcf0b232afcafadf1020a04972dd90bc3fd82c5265a12d166ae5eb36c59ff0dfcfcaccba83c12b685567a15536fb3ccc51cafab802166d7b39
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'erb'
|
2
|
+
|
3
|
+
module Capistrano
|
4
|
+
module Slnky
|
5
|
+
module Helpers
|
6
|
+
# stolen from:
|
7
|
+
# https://github.com/capistrano-plugins/capistrano-unicorn-nginx/blob/e2e0dc17766ce6312a27eb5af52d521d9f6fb8ca/lib/capistrano/unicorn_nginx/helpers.rb
|
8
|
+
#
|
9
|
+
# renders the ERB template specified by template_name to string. Use the locals variable to pass locals to the
|
10
|
+
# ERB template
|
11
|
+
def template_to_s(template_name, locals = {})
|
12
|
+
config_file = "#{fetch(:templates_path)}/#{template_name}"
|
13
|
+
# if no customized file, proceed with default
|
14
|
+
unless File.exists?(config_file)
|
15
|
+
config_file = File.join(File.dirname(__FILE__), "templates/#{template_name}")
|
16
|
+
end
|
17
|
+
|
18
|
+
ERB.new(File.read(config_file), nil, '-').result(ERBNamespace.new(locals).get_binding)
|
19
|
+
end
|
20
|
+
|
21
|
+
# renders the ERB template specified by template_name to a StringIO buffer
|
22
|
+
def template(template_name, locals = {})
|
23
|
+
StringIO.new(template_to_s(template_name, locals))
|
24
|
+
end
|
25
|
+
|
26
|
+
def file_exists?(path)
|
27
|
+
test "[ -e #{path} ]"
|
28
|
+
end
|
29
|
+
|
30
|
+
def deploy_user
|
31
|
+
capture :id, '-un'
|
32
|
+
end
|
33
|
+
|
34
|
+
def sudo_upload!(from, to)
|
35
|
+
filename = File.basename(to)
|
36
|
+
to_dir = File.dirname(to)
|
37
|
+
tmp_file = "#{fetch(:tmp_dir)}/#{filename}"
|
38
|
+
upload! from, tmp_file
|
39
|
+
sudo :mv, tmp_file, to_dir
|
40
|
+
end
|
41
|
+
|
42
|
+
# Helper class to pass local variables to an ERB template
|
43
|
+
class ERBNamespace
|
44
|
+
def initialize(hash)
|
45
|
+
hash.each do |key, value|
|
46
|
+
singleton_class.send(:define_method, key) { value }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def get_binding
|
51
|
+
binding
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
start on started networking
|
2
|
+
respawn
|
3
|
+
|
4
|
+
env SLNKY_SERVICE="<%= fetch(:application) %>"
|
5
|
+
export SLNKY_SERVICE
|
6
|
+
env SLNKY_DIR="<%= current_path %>"
|
7
|
+
export SLNKY_DIR
|
8
|
+
env SLNKY_RVM="<%= fetch(:rvm_ruby_version) %>"
|
9
|
+
export SLNKY_RVM
|
10
|
+
env SLNKY_SCRIPT="service-<%= fetch(:slnky_service) %>"
|
11
|
+
export SLNKY_SCRIPT
|
12
|
+
|
13
|
+
exec start-stop-daemon --start \
|
14
|
+
--chdir ${SLNKY_DIR} \
|
15
|
+
--make-pidfile --pidfile ${SLNKY_DIR}/tmp/pids/${SLNKY_SERVICE}.pid \
|
16
|
+
--exec /usr/local/rvm/bin/rvm -- ${SLNKY_RVM} do bundle exec ./${SLNKY_SCRIPT} production
|
@@ -1,3 +1,7 @@
|
|
1
|
+
require 'capistrano/slnky/helpers'
|
2
|
+
|
3
|
+
include Capistrano::Slnky::Helpers
|
4
|
+
|
1
5
|
namespace :load do
|
2
6
|
task :defaults do
|
3
7
|
set :slnky_service, -> { "#{fetch(:application)}_#{fetch(:stage)}" }
|
@@ -7,12 +11,10 @@ namespace :load do
|
|
7
11
|
end
|
8
12
|
|
9
13
|
namespace :slnky do
|
10
|
-
desc 'upload
|
11
|
-
task :
|
14
|
+
desc 'upload upstart config'
|
15
|
+
task :upstart do
|
12
16
|
on roles :app do
|
13
|
-
|
14
|
-
upload! "upstart/init.conf", "/tmp/#{service}.conf"
|
15
|
-
sudo 'mv', "/tmp/#{service}.conf", "/etc/init/#{service}.conf"
|
17
|
+
sudo_upload! template('upstart.conf.erb'), "/etc/init/#{fetch(:slnky_service)}.conf"
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
@@ -28,7 +30,7 @@ end
|
|
28
30
|
|
29
31
|
desc 'setup task'
|
30
32
|
task :setup do
|
31
|
-
invoke 'slnky:
|
33
|
+
invoke 'slnky:upstart'
|
32
34
|
end
|
33
35
|
|
34
36
|
namespace :deploy do
|
data/lib/slnky/service.rb
CHANGED
@@ -7,8 +7,9 @@ require 'json'
|
|
7
7
|
module Slnky
|
8
8
|
module Service
|
9
9
|
class Base
|
10
|
-
def initialize(url)
|
10
|
+
def initialize(url, env='development')
|
11
11
|
@server = url
|
12
|
+
@environment = env
|
12
13
|
@name = self.class.name.split('::').last.downcase
|
13
14
|
json = open("#{@server}/configs/#{@name}") {|f| f.read }
|
14
15
|
@config = JSON.parse(json)
|
File without changes
|
data/lib/slnky/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slnky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shawn Catanzarite
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -140,6 +140,8 @@ files:
|
|
140
140
|
- Rakefile
|
141
141
|
- bin/slnky
|
142
142
|
- lib/capistrano/slnky.rb
|
143
|
+
- lib/capistrano/slnky/helpers.rb
|
144
|
+
- lib/capistrano/slnky/templates/upstart.conf.erb
|
143
145
|
- lib/capistrano/tasks/slnky.rake
|
144
146
|
- lib/slnky.rb
|
145
147
|
- lib/slnky/cli.rb
|
@@ -164,10 +166,9 @@ files:
|
|
164
166
|
- lib/slnky/template/service/lib/capistrano/tasks/NAME.rake.erb
|
165
167
|
- lib/slnky/template/service/lib/slnky/service/NAME.rb.erb
|
166
168
|
- lib/slnky/template/service/log/.keep
|
167
|
-
- lib/slnky/template/service/service.erb
|
169
|
+
- lib/slnky/template/service/service-slnky-NAME.erb
|
168
170
|
- lib/slnky/template/service/spec/slnky/service/NAME_spec.rb.erb
|
169
171
|
- lib/slnky/template/service/spec/spec_helper.rb.erb
|
170
|
-
- lib/slnky/template/service/upstart/init.conf.erb
|
171
172
|
- lib/slnky/version.rb
|
172
173
|
- slnky.gemspec
|
173
174
|
homepage: https://github.com/shawncatz/slnky
|