luban 0.7.2 → 0.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77397a73d48be8aae5e88c15751d2f31247d4ff5
4
- data.tar.gz: 1d788a44466f84e9097d36e260e4b6613084de1a
3
+ metadata.gz: 7a8f39979ced7b6927daaf816577978103685cbf
4
+ data.tar.gz: 49e197ac74dbb02244ce6f7b46633c61ab4326d6
5
5
  SHA512:
6
- metadata.gz: 2e027fee9981c212b57d31ba33779555b62d3f8b1c52b79859fcf5b64b842260c6e86d862f1ec10190292a134d133825fc8aaefac3c0ceb06f453ea21a25e83a
7
- data.tar.gz: bf0792cd771f50f42c12fa1ac57b631f37bb5ca8d81e56aed4ac7b99f62a02ceeafefc1f7eb0f3a58231087e954fd524714b06437c82957a9992cc94f46bff2e
6
+ metadata.gz: 64b73d9b4172745afe242fc76338334c44a0a7e229667ac04cd2ee54210c492610f795c7082d3fbbba74d1615cad8ce92fb3af1f8b97225258ba064184973b6b
7
+ data.tar.gz: f4cf86cedf713679ce2fb578c685f157932c1b940930185ab5faa8adeea67c26e7b33ca86db9b3f9d234208404952385df40f79669084535db9a18dd4bd4d2e4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Change log
2
2
 
3
+ ## Version 0.7.3 (Aug 25, 2016)
4
+
5
+ New features:
6
+ * Added default/embeded source to support Ruby application like Fluentd whose source code contains Gemfile only
7
+ * Added .gitkeep to the .gitignore
8
+
9
+ Bug fixes:
10
+ * Touch the last release mtime to ensure it will NOT be deleted during release cleanup
11
+ * Fixed the helper method #cp
12
+
3
13
  ## Version 0.7.2 (Aug 23, 2016)
4
14
 
5
15
  Minor enhancements:
@@ -100,6 +100,14 @@ module Luban
100
100
  release_opts[version] = opts.merge(version: version)
101
101
  end
102
102
 
103
+ def default_source_path
104
+ @default_source_path ||= config_finder[:application].stage_config_path.join('app')
105
+ end
106
+
107
+ def default_source?
108
+ has_source? and source[:from] == default_source_path
109
+ end
110
+
103
111
  def has_version?(version)
104
112
  release_opts.has_key?(version)
105
113
  end
@@ -198,8 +206,16 @@ module Luban
198
206
  show_app_environment
199
207
  init_profile(args: args, opts: opts)
200
208
  init_service_profiles(args: args, opts: opts)
209
+ init_source(args: args, opts: opts)
201
210
  end
202
211
 
212
+ def init_source(args:, opts:)
213
+ if default_source?
214
+ init_source!(args: args, opts: opts.merge(source: source))
215
+ end
216
+ end
217
+ dispatch_task :init_source!, to: :configurator, as: :init_source, locally: true
218
+
203
219
  def init_profile(args:, opts:)
204
220
  if opts[:app] or opts[:service].nil?
205
221
  init_profile!(args: args, opts: opts.merge(default_templates: default_templates))
@@ -248,6 +264,11 @@ module Luban
248
264
  linked_dirs.push('log', 'pids')
249
265
  end
250
266
 
267
+ def set_default_source
268
+ source(default_source_path, scm: :rsync)
269
+ release(stage, current: true)
270
+ end
271
+
251
272
  def set_default_profile
252
273
  if config_finder[:application].has_profile?
253
274
  profile(config_finder[:application].stage_profile_path, scm: :rsync)
@@ -3,6 +3,23 @@ module Luban
3
3
  class Application
4
4
  class Configurator < Worker
5
5
  include Luban::Deployment::Service::Configurator::Base
6
+
7
+ def default_source_path
8
+ task.opts.source[:from]
9
+ end
10
+
11
+ def default_source_template_path
12
+ raise NotImplementedError, "#{self.class.name}#default_source_template_path is an abstract method."
13
+ end
14
+
15
+ def init_source
16
+ if directory?(default_source_path)
17
+ puts " Skipped! ALREADY initialized #{application_name} default source"
18
+ else
19
+ puts " Initializing #{application_name} default source"
20
+ cp('-r', default_source_template_path, default_source_path)
21
+ end
22
+ end
6
23
  end
7
24
  end
8
25
  end
@@ -105,6 +105,7 @@ module Luban
105
105
  upload!(release_package_path.to_s, upload_to.to_s)
106
106
  if md5_matched?(upload_to, release_md5) and
107
107
  test(:tar, "-xzf #{upload_to} -C #{releases_path}")
108
+ execute(:touch, release_path)
108
109
  create_symlinks
109
110
  update_releases_log
110
111
  else
@@ -73,7 +73,7 @@ module Luban
73
73
  end
74
74
 
75
75
  def cp(*opts, source_path, target_path)
76
- execute(*opts, source_path, target_path)
76
+ execute(:cp, *opts, source_path, target_path)
77
77
  end
78
78
 
79
79
  def readlink(source_file)
@@ -3,4 +3,5 @@
3
3
  .luban/
4
4
  vendor/cache/
5
5
  env_vars.rb
6
- .DS_Store
6
+ .DS_Store
7
+ .gitkeep
@@ -1,5 +1,5 @@
1
1
  module Luban
2
2
  module Deployment
3
- VERSION = "0.7.2"
3
+ VERSION = "0.7.3"
4
4
  end
5
5
  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.7.2
4
+ version: 0.7.3
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-08-23 00:00:00.000000000 Z
11
+ date: 2016-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: luban-cli