delivery_center 0.1.2 → 0.1.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23207f459a5f09dad30070931c559061545d570b
|
4
|
+
data.tar.gz: 14fc367be4ebe50f071d5d31e322242b14fa84a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 979467287d849394aed44fe4bbc2ccc4036861c4fe5fc7cf5ddbe76496a0666bafbfd581cf58069d22fa1351529f4582141c69d69b373610195712a2f9faeb7b
|
7
|
+
data.tar.gz: bd8ade981eabc6df992c244712bfaaf7befff411e5b33a16332f6ba194babcfaa36fb771fb4ae70e58217bf47818e15cd4db848cb6d8327fb6ad9be80cabbe67
|
data/lib/delivery_center/cli.rb
CHANGED
@@ -2,14 +2,47 @@ require 'thor'
|
|
2
2
|
|
3
3
|
class DeliveryCenter::Cli < Thor
|
4
4
|
require 'delivery_center/cli/database'
|
5
|
+
require 'delivery_center/cli/revision'
|
6
|
+
require 'delivery_center/cli/application'
|
5
7
|
|
6
8
|
desc 'db SUBCOMMAND ...ARGS', 'manage db'
|
7
9
|
subcommand 'db', DeliveryCenter::Cli::Database
|
8
10
|
|
11
|
+
desc 'revision SUBCOMMAND ...ARGS', 'manage db'
|
12
|
+
subcommand 'revision', DeliveryCenter::Cli::Revision
|
13
|
+
|
14
|
+
desc 'application SUBCOMMAND ...ARGS', 'manage db'
|
15
|
+
subcommand 'application', DeliveryCenter::Cli::Application
|
16
|
+
|
9
17
|
desc 'server', 'run delivery center web application'
|
10
18
|
option 'port', desc: 'listen port', default: 8080, aliases: 'p', type: :numeric
|
11
19
|
option 'address', desc: 'listen address', default: 'localhost', aliases: 'b', type: :string
|
12
20
|
def server
|
13
21
|
DeliveryCenter::App.run!(options)
|
14
22
|
end
|
23
|
+
|
24
|
+
desc 'deploy [application name]', 'deploy latest revision'
|
25
|
+
def deploy(application_name)
|
26
|
+
application = find_application(application_name)
|
27
|
+
application.deploy!
|
28
|
+
puts "current revision: #{application.current_revision.value}"
|
29
|
+
end
|
30
|
+
|
31
|
+
desc 'rollback [application name]', 'rollback previous revision'
|
32
|
+
def rollback(application_name)
|
33
|
+
application = find_application(application_name)
|
34
|
+
application.rollback!
|
35
|
+
puts "current revision: #{application.current_revision.value}"
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def find_application(name)
|
41
|
+
application = DeliveryCenter::Application.find_by(name: name)
|
42
|
+
if application.nil?
|
43
|
+
DeliveryCenter.logger.error("notfound #{application}")
|
44
|
+
exit 1
|
45
|
+
end
|
46
|
+
application
|
47
|
+
end
|
15
48
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class DeliveryCenter::Cli::Application < Thor
|
2
|
+
namespace 'application'
|
3
|
+
|
4
|
+
desc 'add [application name]', 'register application'
|
5
|
+
def add(name)
|
6
|
+
if DeliveryCenter::Application.where(name: name).exists?
|
7
|
+
DeliveryCenter.logger.info("already exists #{name}.")
|
8
|
+
else
|
9
|
+
DeliveryCenter::Application.create!(name: name)
|
10
|
+
DeliveryCenter.logger.info("added #{name} application.")
|
11
|
+
end
|
12
|
+
rescue => e
|
13
|
+
DeliveryCenter.logger.error(e)
|
14
|
+
end
|
15
|
+
end
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class DeliveryCenter::Cli::Revision < Thor
|
2
|
+
namespace 'revision'
|
3
|
+
|
4
|
+
desc 'switch [application name] [revision]', 'add revision'
|
5
|
+
def add(application_name, revision)
|
6
|
+
application = find_application(application_name)
|
7
|
+
if application.revisions.where(value: revision).exists?
|
8
|
+
DeliveryCenter.logger.info("already created #{application.name} - #{revision}")
|
9
|
+
else
|
10
|
+
application.revisions.create!(value: revision)
|
11
|
+
DeliveryCenter.logger.info("create #{application.name} - #{revision}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'current [application name]', 'fetch current revision'
|
16
|
+
def current(application_name)
|
17
|
+
print find_application(application_name).current_revision.value
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def find_application(name)
|
23
|
+
application = DeliveryCenter::Application.find_by(name: name)
|
24
|
+
if application.nil?
|
25
|
+
DeliveryCenter.logger.error("notfound #{application}")
|
26
|
+
exit 1
|
27
|
+
end
|
28
|
+
application
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: delivery_center
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takatoshi Maeda
|
@@ -229,7 +229,10 @@ files:
|
|
229
229
|
- lib/delivery_center/app.rb
|
230
230
|
- lib/delivery_center/application_record.rb
|
231
231
|
- lib/delivery_center/cli.rb
|
232
|
+
- lib/delivery_center/cli/application.rb
|
232
233
|
- lib/delivery_center/cli/database.rb
|
234
|
+
- lib/delivery_center/cli/deploy.rb
|
235
|
+
- lib/delivery_center/cli/revision.rb
|
233
236
|
- lib/delivery_center/errors.rb
|
234
237
|
- lib/delivery_center/models.rb
|
235
238
|
- lib/delivery_center/models/api_key.rb
|
@@ -261,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
264
|
version: '0'
|
262
265
|
requirements: []
|
263
266
|
rubyforge_project:
|
264
|
-
rubygems_version: 2.5
|
267
|
+
rubygems_version: 2.4.5
|
265
268
|
signing_key:
|
266
269
|
specification_version: 4
|
267
270
|
summary: deploy management tool
|