capistrano-foreman 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a074314158aaf705130e0fc22a91fe9cd598e70b
4
- data.tar.gz: 30cf5f1dc0b200c517247310b4de12a05e800ffe
3
+ metadata.gz: 72d27f301f00f266dfa92a4789280b467e825456
4
+ data.tar.gz: 13d23913abd8b7831cc87aab90f574ea9c281010
5
5
  SHA512:
6
- metadata.gz: 4f093dd032f43b9114beeee3939d6fce1dbef4cd33bd9e41ba9be5e8a506d972693ff45766257d96fdca7c7147af76fde745178127e88c787c036ea3c9dc5f2f
7
- data.tar.gz: 9f4997e77dd54fc68614c980b9b58ea182f4d3cbfb9e75ed40a9a62b31954d2557a256c3a19e6df0471fad2c3e8a83079129d38f3bbb9270e97a9d2b592cc44b
6
+ metadata.gz: 590652ab4c24ac7f27abf4e2b93dc1b2e7b68b963b8b661996ba0c245a065fb8adcf35ed448f42a6afd3f6466504afaa9734ca274eb5ffcb7bf2a13e1ead7e74
7
+ data.tar.gz: 2b7d6c5c9d78765b6c8bdd8ea8fbbfe80ec2a3aa0ee357983705e5d0878f3883b7f375261cb33d0c0b43c13ae3a785310e5a796e51d629e30509213c0fe7d21a
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Code Climate](https://img.shields.io/codeclimate/github/hyperoslo/capistrano-foreman.svg?style=flat)](https://codeclimate.com/github/hyperoslo/capistrano-foreman)
4
4
 
5
- Capistrano tasks for foreman and upstart.
5
+ Capistrano tasks for foreman and upstart/systemd.
6
6
 
7
7
  ## Installation
8
8
 
@@ -16,19 +16,19 @@ require 'capistrano/foreman'
16
16
  # Default settings
17
17
  set :foreman_use_sudo, false # Set to :rbenv for rbenv sudo, :rvm for rvmsudo or true for normal sudo
18
18
  set :foreman_roles, :all
19
- set :foreman_template, 'upstart'
20
- set :foreman_export_path, File.join(Dir.home, '.init')
21
- set :foreman_options, {
19
+ set :foreman_init_system, 'upstart'
20
+ set :foreman_export_path, ->{ File.join(Dir.home, '.init') }
21
+ set :foreman_options, ->{ {
22
22
  app: application,
23
23
  log: File.join(shared_path, 'log')
24
- }
24
+ } }
25
25
  ```
26
26
 
27
- See [exporting options](http://ddollar.github.io/foreman/#EXPORTING0) for an exhaustive list of foreman options.
27
+ See [exporting options](http://ddollar.github.io/foreman/#EXPORTING) for an exhaustive list of foreman options.
28
28
 
29
29
  ## Usage
30
30
 
31
- Export Procfile to upstart:
31
+ Export Procfile to upstart/systemd:
32
32
 
33
33
  $ bundle exec cap production foreman:export
34
34
 
@@ -5,8 +5,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  Gem::Specification.new do |gem|
6
6
  gem.authors = ["Johannes Gorset", 'John Bellone']
7
7
  gem.email = ["jgorset@gmail.com", 'jbellone@bloomberg.net']
8
- gem.description = "Capistrano tasks for foreman and upstart."
9
- gem.summary = "Capistrano tasks for foreman and upstart."
8
+ gem.description = "Capistrano tasks for foreman and upstart/systemd."
9
+ gem.summary = "Capistrano tasks for foreman and upstart/systemd."
10
10
  gem.homepage = "http://github.com/hyperoslo/capistrano-foreman"
11
11
 
12
12
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
15
  gem.name = "capistrano-foreman"
16
16
  gem.require_paths = ["lib"]
17
- gem.version = '1.2.0'
17
+ gem.version = '1.3.0'
18
18
 
19
19
  gem.add_dependency 'capistrano', '~> 3.1'
20
20
  gem.add_dependency 'capistrano-bundler', '~> 1.1'
@@ -12,11 +12,13 @@ namespace :foreman do
12
12
  log: File.join(shared_path, 'log'),
13
13
  }.merge fetch(:foreman_options, {})
14
14
 
15
+ opts.merge!(host.properties.fetch(:foreman_options) || {})
16
+
15
17
  execute(:mkdir, "-p", opts[:log])
16
18
 
17
19
  within release_path do
18
20
  foreman_exec :foreman, 'export',
19
- fetch(:foreman_template),
21
+ fetch(:foreman_init_system),
20
22
  fetch(:foreman_export_path),
21
23
  opts.map { |opt, value| "--#{opt}=\"#{value}\"" }.join(' ')
22
24
  end
@@ -26,21 +28,38 @@ namespace :foreman do
26
28
  desc 'Start the application services'
27
29
  task :start do
28
30
  on roles fetch(:foreman_roles) do
29
- foreman_exec :start, fetch(:foreman_app)
31
+ case fetch(:foreman_init_system)
32
+ when 'systemd'
33
+ foreman_exec :systemctl, :enable, fetch(:foreman_app_name_systemd)
34
+ foreman_exec :systemctl, :start, fetch(:foreman_app_name_systemd)
35
+ else
36
+ foreman_exec :start, fetch(:foreman_app)
37
+ end
30
38
  end
31
39
  end
32
40
 
33
41
  desc 'Stop the application services'
34
42
  task :stop do
35
43
  on roles fetch(:foreman_roles) do
36
- foreman_exec :stop, fetch(:foreman_app)
44
+ case fetch(:foreman_init_system)
45
+ when 'systemd'
46
+ foreman_exec :systemctl, :stop, fetch(:foreman_app_name_systemd)
47
+ foreman_exec :systemctl, :disable, fetch(:foreman_app_name_systemd)
48
+ else
49
+ foreman_exec :stop, fetch(:foreman_app)
50
+ end
37
51
  end
38
52
  end
39
53
 
40
54
  desc 'Restart the application services'
41
55
  task :restart do
42
56
  on roles fetch(:foreman_roles) do
43
- foreman_exec :restart, fetch(:foreman_app)
57
+ case fetch(:foreman_init_system)
58
+ when 'systemd'
59
+ foreman_exec :systemctl, :restart, fetch(:foreman_app_name_systemd)
60
+ else
61
+ foreman_exec :restart, fetch(:foreman_app)
62
+ end
44
63
  end
45
64
  end
46
65
 
@@ -54,6 +73,8 @@ namespace :foreman do
54
73
  execute(:rbenv, :sudo, *args)
55
74
  when 'rvm'
56
75
  execute(:rvmsudo, *args)
76
+ when 'chruby'
77
+ execute(:sudo, 'chruby-exec', fetch(:chruby_ruby), '--', *args)
57
78
  else
58
79
  sudo_type ? sudo(*args) : execute(*args)
59
80
  end
@@ -64,10 +85,11 @@ namespace :load do
64
85
  task :defaults do
65
86
  set :bundle_bins, fetch(:bundle_bins, []).push(:foreman)
66
87
  set :foreman_use_sudo, false
67
- set :foreman_template, 'upstart'
88
+ set :foreman_init_system, 'upstart'
68
89
  set :foreman_export_path, '/etc/init/sites'
69
90
  set :foreman_roles, :all
70
91
  set :foreman_app, -> { fetch(:application) }
92
+ set :foreman_app_name_systemd, -> { "#{ fetch(:foreman_app) }.target" }
71
93
 
72
94
  if !fetch(:rvm_map_bins).nil?
73
95
  set :rvm_map_bins, fetch(:rvm_map_bins).push('foreman')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-foreman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Gorset
@@ -9,37 +9,37 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-03 00:00:00.000000000 Z
12
+ date: 2017-06-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.1'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  version: '3.1'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: capistrano-bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
34
  version: '1.1'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ~>
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.1'
42
- description: Capistrano tasks for foreman and upstart.
42
+ description: Capistrano tasks for foreman and upstart/systemd.
43
43
  email:
44
44
  - jgorset@gmail.com
45
45
  - jbellone@bloomberg.net
@@ -47,7 +47,7 @@ executables: []
47
47
  extensions: []
48
48
  extra_rdoc_files: []
49
49
  files:
50
- - ".gitignore"
50
+ - .gitignore
51
51
  - Gemfile
52
52
  - LICENSE
53
53
  - LICENSE.md
@@ -66,18 +66,18 @@ require_paths:
66
66
  - lib
67
67
  required_ruby_version: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ">="
69
+ - - '>='
70
70
  - !ruby/object:Gem::Version
71
71
  version: '0'
72
72
  required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
78
  rubyforge_project:
79
- rubygems_version: 2.2.2
79
+ rubygems_version: 2.0.14.1
80
80
  signing_key:
81
81
  specification_version: 4
82
- summary: Capistrano tasks for foreman and upstart.
82
+ summary: Capistrano tasks for foreman and upstart/systemd.
83
83
  test_files: []