luban 0.6.1 → 0.6.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/CHANGELOG.md +12 -0
 - data/lib/luban/deployment/cli/application/base.rb +6 -1
 - data/lib/luban/deployment/cli/application/controller.rb +1 -1
 - data/lib/luban/deployment/cli/package/base.rb +5 -0
 - data/lib/luban/deployment/cli/service/controller.rb +23 -1
 - data/lib/luban/deployment/version.rb +1 -1
 - data/lib/luban/deployment/worker/paths.rb +5 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 226a7a454e9e2362810972688ba0c29d44a0efd5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 773a1081ce6c7ccdc380114d51a3c1f01dae99ac
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 53f78a7483a74750790f11e02440332bafcdb6dadb688deff9ce044ac8fc8d4d344d2d0ef26a48e212f60cf5c9cfaffae0ddfccd9491345ee453b3c0f2b3e881
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 973ba8cce91e3df4d9248c8f6e50c9defeaadd58f1efc38923cbb7296a03fff5c48526b3669cb30389480c985d042cc653f116b1b70af37c02832a1fe83dcaf1
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,17 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Change log
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## Version 0.6.2 (Jul 14, 2016)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            New features:
         
     | 
| 
      
 6 
     | 
    
         
            +
              * Automatically reload process monitor before start any apps/services to ensure process monitor has the most updated process monitoring configurations
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            Minor enhancements:
         
     | 
| 
      
 9 
     | 
    
         
            +
              * Added convenient methods to look up project/application instances
         
     | 
| 
      
 10 
     | 
    
         
            +
              * Added a convenient method to get current app path/symlink
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            Bug fixes:
         
     | 
| 
      
 13 
     | 
    
         
            +
              * Checked versions ONLY when the application has source code
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       3 
15 
     | 
    
         
             
            ## Version 0.6.1 (Jul 11, 2016)
         
     | 
| 
       4 
16 
     | 
    
         | 
| 
       5 
17 
     | 
    
         
             
            New features:
         
     | 
| 
         @@ -10,6 +10,11 @@ module Luban 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  attr_reader :packages
         
     | 
| 
       11 
11 
     | 
    
         
             
                  attr_reader :services
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
                  def find_project; parent; end
         
     | 
| 
      
 14 
     | 
    
         
            +
                  def find_application(name = nil)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    name.nil? ? self : find_project.apps[name.to_sym]
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
       13 
18 
     | 
    
         
             
                  def has_source?;   !source.empty?; end
         
     | 
| 
       14 
19 
     | 
    
         
             
                  def has_profile?;  !profile.empty?; end
         
     | 
| 
       15 
20 
     | 
    
         
             
                  def has_packages?; !packages.empty?; end
         
     | 
| 
         @@ -119,7 +124,7 @@ module Luban 
     | 
|
| 
       119 
124 
     | 
    
         
             
                    cleanup: :constructor }.each_pair do |action, worker|
         
     | 
| 
       120 
125 
     | 
    
         
             
                    alias_method "#{action}_packages!", "#{action}!" 
         
     | 
| 
       121 
126 
     | 
    
         
             
                    define_method("#{action}!") do |args:, opts:|
         
     | 
| 
       122 
     | 
    
         
            -
                      send("#{action}_application!", args: args, opts: opts)
         
     | 
| 
      
 127 
     | 
    
         
            +
                      send("#{action}_application!", args: args, opts: opts) if has_source?
         
     | 
| 
       123 
128 
     | 
    
         
             
                      send("#{action}_packages!", args: args, opts: opts)
         
     | 
| 
       124 
129 
     | 
    
         
             
                    end
         
     | 
| 
       125 
130 
     | 
    
         
             
                    protected "#{action}!"
         
     | 
| 
         @@ -71,6 +71,11 @@ module Luban 
     | 
|
| 
       71 
71 
     | 
    
         
             
                    include Luban::Deployment::Parameters::Application
         
     | 
| 
       72 
72 
     | 
    
         
             
                    include Luban::Deployment::Command::Tasks::Install
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
      
 74 
     | 
    
         
            +
                    def find_project; parent.parent; end
         
     | 
| 
      
 75 
     | 
    
         
            +
                    def find_application(name = nil)
         
     | 
| 
      
 76 
     | 
    
         
            +
                      name.nil? ? parent : find_project.apps[name.to_sym]
         
     | 
| 
      
 77 
     | 
    
         
            +
                    end
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
       74 
79 
     | 
    
         
             
                    attr_reader :current_version
         
     | 
| 
       75 
80 
     | 
    
         | 
| 
       76 
81 
     | 
    
         
             
                    def package_options; @package_options ||= {}; end
         
     | 
| 
         @@ -45,6 +45,10 @@ module Luban 
     | 
|
| 
       45 
45 
     | 
    
         
             
                        @unmonitor_command ||= "#{monitor_executable} unmonitor #{service_entry}"
         
     | 
| 
       46 
46 
     | 
    
         
             
                      end
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
      
 48 
     | 
    
         
            +
                      def reload_monitor_command
         
     | 
| 
      
 49 
     | 
    
         
            +
                        @reload_monitor_command ||= "#{monitor_executable} reload"
         
     | 
| 
      
 50 
     | 
    
         
            +
                      end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
       48 
52 
     | 
    
         
             
                      def start_process
         
     | 
| 
       49 
53 
     | 
    
         
             
                        if process_started?
         
     | 
| 
       50 
54 
     | 
    
         
             
                          update_result "Skipped! Already started #{service_full_name}", status: :skipped
         
     | 
| 
         @@ -152,11 +156,25 @@ module Luban 
     | 
|
| 
       152 
156 
     | 
    
         
             
                        end
         
     | 
| 
       153 
157 
     | 
    
         
             
                      end
         
     | 
| 
       154 
158 
     | 
    
         | 
| 
      
 159 
     | 
    
         
            +
                      def reload_monitor_process
         
     | 
| 
      
 160 
     | 
    
         
            +
                        if process_monitor_defined?
         
     | 
| 
      
 161 
     | 
    
         
            +
                          if reload_monitor_process!
         
     | 
| 
      
 162 
     | 
    
         
            +
                            info "Reloaded process monitor for #{service_entry}"
         
     | 
| 
      
 163 
     | 
    
         
            +
                          else
         
     | 
| 
      
 164 
     | 
    
         
            +
                            info "Failed to reload process monitor for #{service_entry}"
         
     | 
| 
      
 165 
     | 
    
         
            +
                          end
         
     | 
| 
      
 166 
     | 
    
         
            +
                        end
         
     | 
| 
      
 167 
     | 
    
         
            +
                      end
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
       155 
169 
     | 
    
         
             
                      def default_pending_seconds; 30; end
         
     | 
| 
       156 
170 
     | 
    
         
             
                      def default_pending_interval; 1; end
         
     | 
| 
       157 
171 
     | 
    
         | 
| 
       158 
172 
     | 
    
         
             
                      protected
         
     | 
| 
       159 
173 
     | 
    
         | 
| 
      
 174 
     | 
    
         
            +
                      def before_start_process
         
     | 
| 
      
 175 
     | 
    
         
            +
                        reload_monitor_process
         
     | 
| 
      
 176 
     | 
    
         
            +
                      end
         
     | 
| 
      
 177 
     | 
    
         
            +
             
     | 
| 
       160 
178 
     | 
    
         
             
                      def check_until(pending_seconds: default_pending_seconds, 
         
     | 
| 
       161 
179 
     | 
    
         
             
                                      pending_interval: default_pending_interval)
         
     | 
| 
       162 
180 
     | 
    
         
             
                        succeeded = false
         
     | 
| 
         @@ -179,7 +197,7 @@ module Luban 
     | 
|
| 
       179 
197 
     | 
    
         
             
                        if pid_file_missing?
         
     | 
| 
       180 
198 
     | 
    
         
             
                          "#{service_full_name}: started but PID file(s) do NOT exist in #{pids_path}"
         
     | 
| 
       181 
199 
     | 
    
         
             
                        elsif process_started?
         
     | 
| 
       182 
     | 
    
         
            -
                          "#{service_full_name}: started - PID(s) #{pid} 
     | 
| 
      
 200 
     | 
    
         
            +
                          "#{service_full_name}: started - PID(s) #{pid}"
         
     | 
| 
       183 
201 
     | 
    
         
             
                        elsif pid_file_orphaned?
         
     | 
| 
       184 
202 
     | 
    
         
             
                          "#{service_full_name}: stopped but PID file(s) exist in #{pids_path}"
         
     | 
| 
       185 
203 
     | 
    
         
             
                        else
         
     | 
| 
         @@ -217,6 +235,10 @@ module Luban 
     | 
|
| 
       217 
235 
     | 
    
         
             
                      def unmonitor_process!
         
     | 
| 
       218 
236 
     | 
    
         
             
                        test("#{unmonitor_command} 2>&1")
         
     | 
| 
       219 
237 
     | 
    
         
             
                      end
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
      
 239 
     | 
    
         
            +
                      def reload_monitor_process!
         
     | 
| 
      
 240 
     | 
    
         
            +
                        test("#{reload_monitor_command} 2>&1")
         
     | 
| 
      
 241 
     | 
    
         
            +
                      end
         
     | 
| 
       220 
242 
     | 
    
         
             
                    end
         
     | 
| 
       221 
243 
     | 
    
         | 
| 
       222 
244 
     | 
    
         
             
                    module Cluster
         
     | 
| 
         @@ -45,6 +45,10 @@ module Luban 
     | 
|
| 
       45 
45 
     | 
    
         
             
                        @app_path ||= project_path.join(application)
         
     | 
| 
       46 
46 
     | 
    
         
             
                      end
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
      
 48 
     | 
    
         
            +
                      def current_app_path
         
     | 
| 
      
 49 
     | 
    
         
            +
                        @app_symlink ||= app_path.join('app')
         
     | 
| 
      
 50 
     | 
    
         
            +
                      end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
       48 
52 
     | 
    
         
             
                      def app_bin_path
         
     | 
| 
       49 
53 
     | 
    
         
             
                        @app_bin_path ||= app_path.join('bin')
         
     | 
| 
       50 
54 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -76,4 +80,4 @@ module Luban 
     | 
|
| 
       76 
80 
     | 
    
         
             
                  end
         
     | 
| 
       77 
81 
     | 
    
         
             
                end
         
     | 
| 
       78 
82 
     | 
    
         
             
              end
         
     | 
| 
       79 
     | 
    
         
            -
            end
         
     | 
| 
      
 83 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: luban
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Rubyist Lei
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016-07- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-07-14 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: luban-cli
         
     |