Class: Mrsk::Cli::Main
- Inherits:
-
Base
- Object
- Thor
- Base
- Mrsk::Cli::Main
show all
- Defined in:
- lib/mrsk/cli/main.rb
Instance Method Summary
collapse
Methods inherited from Base
exit_on_failure?, #initialize
Instance Method Details
#config ⇒ Object
74
75
76
77
78
|
# File 'lib/mrsk/cli/main.rb', line 74
def config
run_locally do
puts MRSK.config.to_h.to_yaml
end
end
|
#deploy ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/mrsk/cli/main.rb', line 22
def deploy
print_runtime do
say "Ensure Docker is installed...", :magenta
invoke "mrsk:cli:server:bootstrap"
say "Log into image registry...", :magenta
invoke "mrsk:cli:registry:login"
say "Build and push app image...", :magenta
invoke "mrsk:cli:build:deliver"
say "Ensure Traefik is running...", :magenta
invoke "mrsk:cli:traefik:boot"
invoke "mrsk:cli:app:boot"
say "Prune old containers and images...", :magenta
invoke "mrsk:cli:prune:all"
end
end
|
#details ⇒ Object
67
68
69
70
71
|
# File 'lib/mrsk/cli/main.rb', line 67
def details
invoke "mrsk:cli:traefik:details"
invoke "mrsk:cli:app:details"
invoke "mrsk:cli:accessory:details", [ "all" ]
end
|
#install ⇒ Object
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/mrsk/cli/main.rb', line 82
def install
require "fileutils"
if (deploy_file = Pathname.new(File.expand_path("config/deploy.yml"))).exist?
puts "Config file already exists in config/deploy.yml (remove first to create a new one)"
else
FileUtils.cp_r Pathname.new(File.expand_path("templates/deploy.yml", __dir__)), deploy_file
puts "Created configuration file in config/deploy.yml"
end
unless options[:skip_binstub]
if (binstub = Pathname.new(File.expand_path("bin/mrsk"))).exist?
puts "Binstub already exists in bin/mrsk (remove first to create a new one)"
else
`bundle add mrsk`
`bundle binstubs mrsk`
puts "Created binstub file in bin/mrsk"
end
end
end
|
#redeploy ⇒ Object
44
45
46
47
48
49
50
51
|
# File 'lib/mrsk/cli/main.rb', line 44
def redeploy
print_runtime do
say "Build and push app image...", :magenta
invoke "mrsk:cli:build:deliver"
invoke "mrsk:cli:app:boot"
end
end
|
#remove ⇒ Object
104
105
106
107
108
|
# File 'lib/mrsk/cli/main.rb', line 104
def remove
invoke "mrsk:cli:traefik:remove"
invoke "mrsk:cli:app:remove"
invoke "mrsk:cli:registry:logout"
end
|
#rollback(version) ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/mrsk/cli/main.rb', line 54
def rollback(version)
MRSK.version = version
cli = self
cli.say "Stop current version, then start version #{version}...", :magenta
on(MRSK.hosts) do
execute *MRSK.app.stop, raise_on_non_zero_exit: false
execute *MRSK.app.start
end
end
|
#setup ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/mrsk/cli/main.rb', line 13
def setup
print_runtime do
invoke "mrsk:cli:server:bootstrap"
invoke "mrsk:cli:accessory:boot", [ "all" ]
deploy
end
end
|
#version ⇒ Object
111
112
113
|
# File 'lib/mrsk/cli/main.rb', line 111
def version
puts Mrsk::VERSION
end
|