geordi 2.12.3 → 3.0.0
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/.ruby-version +1 -1
- data/.travis.yml +8 -2
- data/CHANGELOG.md +8 -0
- data/Gemfile +2 -6
- data/Gemfile.lock +20 -25
- data/README.md +8 -28
- data/Rakefile +6 -10
- data/{bin → exe}/b +0 -0
- data/{bin → exe}/cap-all +0 -0
- data/{bin → exe}/console-for +0 -0
- data/{bin → exe}/cuc +0 -0
- data/{bin → exe}/cuc-show +0 -0
- data/{bin → exe}/cuc-vnc-setup +0 -0
- data/{bin → exe}/deploy-to-production +0 -0
- data/{bin → exe}/dump-for +0 -0
- data/{bin → exe}/dumple +0 -0
- data/{bin → exe}/geordi +0 -2
- data/{bin → exe}/gitpt +0 -0
- data/{bin → exe}/launchy_browser +0 -0
- data/{bin → exe}/load-dump +0 -0
- data/{bin → exe}/migrate-all +0 -0
- data/{bin → exe}/rs +0 -0
- data/{bin → exe}/run_tests +0 -0
- data/{bin → exe}/shell-for +0 -0
- data/{bin → exe}/tests +0 -0
- data/geordi.gemspec +23 -20
- data/lib/geordi/COMMAND_TEMPLATE +2 -3
- data/lib/geordi/capistrano_config.rb +7 -7
- data/lib/geordi/chromedriver_updater.rb +7 -7
- data/lib/geordi/cli.rb +1 -6
- data/lib/geordi/commands/_setup_vnc.rb +1 -1
- data/lib/geordi/commands/apache_site.rb +3 -3
- data/lib/geordi/commands/bundle_install.rb +2 -2
- data/lib/geordi/commands/capistrano.rb +2 -3
- data/lib/geordi/commands/chromedriver_update.rb +0 -9
- data/lib/geordi/commands/clean.rb +2 -4
- data/lib/geordi/commands/commit.rb +0 -1
- data/lib/geordi/commands/console.rb +2 -2
- data/lib/geordi/commands/create_database_yml.rb +2 -2
- data/lib/geordi/commands/create_databases.rb +2 -2
- data/lib/geordi/commands/cucumber.rb +20 -20
- data/lib/geordi/commands/delete_dumps.rb +9 -9
- data/lib/geordi/commands/deploy.rb +12 -13
- data/lib/geordi/commands/drop_databases.rb +12 -14
- data/lib/geordi/commands/dump.rb +5 -6
- data/lib/geordi/commands/eurest.rb +2 -2
- data/lib/geordi/commands/firefox.rb +3 -3
- data/lib/geordi/commands/png_optimize.rb +13 -12
- data/lib/geordi/commands/rake.rb +2 -2
- data/lib/geordi/commands/remove_executable_flags.rb +1 -1
- data/lib/geordi/commands/rspec.rb +6 -6
- data/lib/geordi/commands/security_update.rb +12 -12
- data/lib/geordi/commands/server.rb +5 -5
- data/lib/geordi/commands/setup.rb +5 -5
- data/lib/geordi/commands/shell.rb +2 -2
- data/lib/geordi/commands/unit.rb +1 -1
- data/lib/geordi/commands/update.rb +5 -5
- data/lib/geordi/commands/vnc.rb +1 -1
- data/lib/geordi/commands/with_rake.rb +1 -1
- data/lib/geordi/commands/yarn_install.rb +2 -2
- data/lib/geordi/cucumber.rb +28 -29
- data/lib/geordi/db_cleaner.rb +28 -28
- data/lib/geordi/dump_loader.rb +3 -3
- data/lib/geordi/firefox_for_selenium.rb +11 -12
- data/lib/geordi/gitpt.rb +13 -13
- data/lib/geordi/remote.rb +6 -6
- data/lib/geordi/util.rb +18 -24
- data/lib/geordi/version.rb +1 -1
- metadata +25 -42
- data/features/commit.feature +0 -17
- data/features/console.feature +0 -7
- data/features/cucumber.feature +0 -261
- data/features/deploy.feature +0 -66
- data/features/docker.feature +0 -86
- data/features/dump.feature +0 -34
- data/features/firefox.feature +0 -44
- data/features/server.feature +0 -31
- data/features/setup.feature +0 -11
- data/features/shell.feature +0 -78
- data/features/step_definitions/docker_command_steps.rb +0 -21
- data/features/step_definitions/miscellaneous_steps.rb +0 -11
- data/features/support/aruba.rb +0 -60
- data/features/support/env.rb +0 -9
- data/features/support/step_definitions/aruba_backport_steps.rb +0 -5
- data/lib/geordi/commands/docker.rb +0 -42
- data/lib/geordi/docker.rb +0 -116
data/features/docker.feature
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
@same-process
|
2
|
-
Feature: The docker command
|
3
|
-
|
4
|
-
Scenario: Setup checks for existence of docker
|
5
|
-
Given the docker command cannot find the "docker" binary
|
6
|
-
When I run `geordi docker setup`
|
7
|
-
Then the output should contain "which docker"
|
8
|
-
And the output should contain "x You need to install docker first"
|
9
|
-
|
10
|
-
|
11
|
-
Scenario: Setup checks for existence of docker-compose
|
12
|
-
Given the docker command cannot find the "docker-compose" binary
|
13
|
-
When I run `geordi docker setup`
|
14
|
-
Then the output should contain "which docker-compose"
|
15
|
-
And the output should contain "x You need to install docker-compose first"
|
16
|
-
|
17
|
-
|
18
|
-
Scenario: Setup checks for existence of docker-compose.yml
|
19
|
-
When I run `geordi docker setup`
|
20
|
-
Then the output should contain "x Your project does not seem to be properly set up."
|
21
|
-
|
22
|
-
|
23
|
-
Scenario: Setup checks for service named "main"
|
24
|
-
Given a file named "docker-compose.yml" with:
|
25
|
-
"""
|
26
|
-
foo: bar
|
27
|
-
"""
|
28
|
-
|
29
|
-
When I run `geordi docker setup`
|
30
|
-
Then the output should contain "x Your project does not seem to be properly set up."
|
31
|
-
|
32
|
-
|
33
|
-
Scenario: Setup runs docker-compose pull
|
34
|
-
Given a file named "docker-compose.yml" with:
|
35
|
-
"""
|
36
|
-
services:
|
37
|
-
main: foo
|
38
|
-
"""
|
39
|
-
|
40
|
-
When I run `geordi docker setup`
|
41
|
-
Then the output should contain "docker-compose pull"
|
42
|
-
|
43
|
-
|
44
|
-
Scenario: Shell checks for existence of docker
|
45
|
-
Given the docker command cannot find the "docker" binary
|
46
|
-
When I run `geordi docker shell`
|
47
|
-
Then the output should contain "which docker"
|
48
|
-
And the output should contain "x You need to install docker first"
|
49
|
-
|
50
|
-
|
51
|
-
Scenario: Shell runs docker-compose run main, and docker-compose stop
|
52
|
-
Given a file named "docker-compose.yml" with:
|
53
|
-
"""
|
54
|
-
services:
|
55
|
-
main: foo
|
56
|
-
"""
|
57
|
-
And I set the environment variables to:
|
58
|
-
| variable | value |
|
59
|
-
| SSH_AUTH_SOCK | /path/to/sock/ssh |
|
60
|
-
|
61
|
-
When I run `geordi docker shell`
|
62
|
-
Then the output should contain "docker-compose run --service-ports -v /path/to/sock:/path/to/sock -e SSH_AUTH_SOCK=/path/to/sock/ssh main"
|
63
|
-
Then the output should contain "docker-compose stop"
|
64
|
-
|
65
|
-
|
66
|
-
Scenario: One can attach to a running shell
|
67
|
-
Given the docker command finds a running shell "project_main_run_foo"
|
68
|
-
And a file named "docker-compose.yml" with:
|
69
|
-
"""
|
70
|
-
services:
|
71
|
-
main: foo
|
72
|
-
"""
|
73
|
-
|
74
|
-
When I run `geordi docker shell --secondary`
|
75
|
-
Then the output should contain "Could not find a running shell"
|
76
|
-
|
77
|
-
|
78
|
-
Scenario: Attaching fails if no shell is running
|
79
|
-
Given a file named "docker-compose.yml" with:
|
80
|
-
"""
|
81
|
-
services:
|
82
|
-
main: foo
|
83
|
-
"""
|
84
|
-
|
85
|
-
When I run `geordi docker shell --secondary`
|
86
|
-
Then the output should contain "Could not find a running shell"
|
data/features/dump.feature
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
Feature: The dump command
|
2
|
-
Most aspects of connection to a server are tested in shell feature.
|
3
|
-
|
4
|
-
Scenario: Creating a dump of the development database
|
5
|
-
When I run `geordi dump`
|
6
|
-
Then the output should contain "Util.system! dumple development"
|
7
|
-
And the output should contain "Successfully dumped the development database"
|
8
|
-
|
9
|
-
|
10
|
-
Scenario: Creating a dump of a remote database
|
11
|
-
Given a file named "Capfile" with "Capfile exists"
|
12
|
-
And a file named "config/deploy.rb" with:
|
13
|
-
"""
|
14
|
-
"""
|
15
|
-
And a file named "config/deploy/staging.rb" with:
|
16
|
-
"""
|
17
|
-
set :rails_env, 'staging'
|
18
|
-
set :deploy_to, '/var/www/example.com'
|
19
|
-
set :user, 'user'
|
20
|
-
|
21
|
-
server 'www.example.com'
|
22
|
-
"""
|
23
|
-
|
24
|
-
When I run `geordi dump staging`
|
25
|
-
Then the output should contain "# Dumping the database of staging"
|
26
|
-
And the output should contain "> Connecting to www.example.com"
|
27
|
-
And the output should contain "Util.system! ssh, user@www.example.com, -t, cd /var/www/example.com/current && bash --login -c 'dumple staging --for_download'"
|
28
|
-
And the output should contain "> Downloading remote dump to tmp/staging.dump"
|
29
|
-
# Omitting the absolute path in this regex (.*)
|
30
|
-
And the output should match:
|
31
|
-
"""
|
32
|
-
Util\.system! scp -C user@www\.example\.com:~\/dumps\/dump_for_download.dump .*?\/tmp\/aruba\/tmp\/staging.dump
|
33
|
-
"""
|
34
|
-
And the output should contain "> Dumped the staging database to tmp/staging.dump"
|
data/features/firefox.feature
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
Feature: The firefox/chrome command
|
2
|
-
|
3
|
-
This command is used internally by the cucumber command.
|
4
|
-
|
5
|
-
Scenario: Running a command with VNC set up
|
6
|
-
Given a file named "testfile" with "testcontent"
|
7
|
-
|
8
|
-
When I run `geordi firefox cat testfile`
|
9
|
-
Then the output should contain "> Run `geordi vnc` to view the Selenium test browsers"
|
10
|
-
And the output should contain "testcontent"
|
11
|
-
But the output should not contain "Firefox for Selenium"
|
12
|
-
|
13
|
-
|
14
|
-
Scenario: The command is aliased as "chrome"
|
15
|
-
Given a file named "testfile" with "testcontent"
|
16
|
-
|
17
|
-
When I run `geordi chrome cat testfile`
|
18
|
-
Then the output should contain "> Run `geordi vnc` to view the Selenium test browsers"
|
19
|
-
And the output should contain "testcontent"
|
20
|
-
|
21
|
-
Scenario: Having a .firefox-version that is not installed yet
|
22
|
-
Given a file named ".firefox-version" with "1337"
|
23
|
-
And a file named "testfile" with "testcontent"
|
24
|
-
|
25
|
-
When I run `geordi firefox cat testfile` interactively
|
26
|
-
And I type "yes"
|
27
|
-
Then the output should contain "> Firefox 1337 not found"
|
28
|
-
And the output should contain "Run tests anyway?"
|
29
|
-
And the output should contain "testcontent"
|
30
|
-
|
31
|
-
|
32
|
-
Scenario: A .firefox-version file with "system" is ignored (legacy support)
|
33
|
-
Given a file named ".firefox-version" with "system"
|
34
|
-
And a file named "testfile" with "testcontent"
|
35
|
-
|
36
|
-
When I run `geordi firefox cat testfile`
|
37
|
-
Then the output should contain "> Run `geordi vnc`"
|
38
|
-
And the output should contain "testcontent"
|
39
|
-
But the output should not contain "Firefox for Selenium"
|
40
|
-
|
41
|
-
|
42
|
-
Scenario: Running --setup without a version prints an error
|
43
|
-
When I run `geordi firefox --setup`
|
44
|
-
Then the output should contain "Firefox version required"
|
data/features/server.feature
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
Feature: The server/devserver command
|
2
|
-
|
3
|
-
Scenario: Booting a development server
|
4
|
-
When I run `geordi server`
|
5
|
-
Then the output should contain "http://aruba.vcap.me:3000"
|
6
|
-
And the output should contain "Util.system! bundle exec rails server -p 3000"
|
7
|
-
|
8
|
-
|
9
|
-
Scenario: Passing a port as argument
|
10
|
-
When I run `geordi server 3001`
|
11
|
-
Then the output should contain "http://aruba.vcap.me:3001"
|
12
|
-
And the output should contain "Util.system! bundle exec rails server -p 3001"
|
13
|
-
|
14
|
-
|
15
|
-
Scenario: Passing a port as option
|
16
|
-
When I run `geordi server -p 3001`
|
17
|
-
Then the output should contain "http://aruba.vcap.me:3001"
|
18
|
-
And the output should contain "Util.system! bundle exec rails server -p 3001"
|
19
|
-
|
20
|
-
|
21
|
-
Scenario: The command is aliased for backwards compatibility
|
22
|
-
When I run `geordi devserver`
|
23
|
-
Then the output should contain "Util.system! bundle exec rails server"
|
24
|
-
|
25
|
-
|
26
|
-
Scenario: Starting the server as accessible from the local network
|
27
|
-
|
28
|
-
... so it can be accessed from a test iPad or so.
|
29
|
-
|
30
|
-
When I run `geordi server --public`
|
31
|
-
Then the output should contain "Util.system! bundle exec rails server -b 0.0.0.0"
|
data/features/setup.feature
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
Feature: Project setup
|
2
|
-
|
3
|
-
Scenario: A local bin/setup is preferred
|
4
|
-
Given a file named "bin/setup" with "custom project setup"
|
5
|
-
|
6
|
-
When I run `geordi setup`
|
7
|
-
Then the output should contain "Running bin/setup"
|
8
|
-
And the output should contain "Geordi's own setup routine is skipped"
|
9
|
-
And the output should contain "Util.system! bin/setup"
|
10
|
-
And the output should not contain "Creating databases"
|
11
|
-
But the output should contain "Successfully set up the project"
|
data/features/shell.feature
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
Feature: The shell command
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given a file named "Capfile" with "Capfile exists"
|
5
|
-
|
6
|
-
|
7
|
-
Scenario: It opens a remote shell on the primary server
|
8
|
-
Given a file named "config/deploy.rb" with "deploy.rb exists"
|
9
|
-
And a file named "config/deploy/geordi.rb" with:
|
10
|
-
"""
|
11
|
-
set :user, 'deploy'
|
12
|
-
set :deploy_to, '/var/www/example.com'
|
13
|
-
server 'first.example.com'
|
14
|
-
server 'second.example.com'
|
15
|
-
"""
|
16
|
-
|
17
|
-
When I run `geordi shell geordi`
|
18
|
-
Then the output should contain "Util.system! ssh, deploy@first.example.com, -t, cd /var/www/example.com/current && bash --login"
|
19
|
-
|
20
|
-
|
21
|
-
Scenario: It understands Capistrano 3 syntax
|
22
|
-
Given a file named "config/deploy.rb" with "deploy.rb exists"
|
23
|
-
And a file named "config/deploy/geordi.rb" with:
|
24
|
-
"""
|
25
|
-
set :deploy_to, '/var/www/example.com'
|
26
|
-
server 'first.example.com', user: 'deploy'
|
27
|
-
"""
|
28
|
-
|
29
|
-
When I run `geordi shell geordi`
|
30
|
-
Then the output should contain "Util.system! ssh, deploy@first.example.com, -t, cd /var/www/example.com/current && bash --login"
|
31
|
-
|
32
|
-
Scenario: It allows multiline capistrano server definitions
|
33
|
-
Given a file named "config/deploy.rb" with "deploy.rb exists"
|
34
|
-
And a file named "config/deploy/geordi.rb" with:
|
35
|
-
"""
|
36
|
-
set :deploy_to, '/var/www/example.com'
|
37
|
-
server 'first.example.com',
|
38
|
-
user: 'deploy'
|
39
|
-
"""
|
40
|
-
|
41
|
-
When I run `geordi shell geordi`
|
42
|
-
Then the output should contain "Util.system! ssh, deploy@first.example.com, -t, cd /var/www/example.com/current && bash --login"
|
43
|
-
|
44
|
-
|
45
|
-
Scenario: It prefers stage settings over general config
|
46
|
-
Given a file named "config/deploy.rb" with:
|
47
|
-
"""
|
48
|
-
set :deploy_to, '/var/www/unknown.example.com'
|
49
|
-
set :user, 'user'
|
50
|
-
|
51
|
-
server 'www.unknown.example.com'
|
52
|
-
"""
|
53
|
-
And a file named "config/deploy/staging.rb" with:
|
54
|
-
"""
|
55
|
-
set :deploy_to, '/var/www/example.com'
|
56
|
-
|
57
|
-
server 'www.example.com'
|
58
|
-
"""
|
59
|
-
|
60
|
-
When I run `geordi shell staging`
|
61
|
-
Then the output should contain "Util.system! ssh, user@www.example.com, -t, cd /var/www/example.com/current"
|
62
|
-
|
63
|
-
|
64
|
-
Scenario: It allows whitespaces in the config
|
65
|
-
We also add the unset command to check we are still matching the right
|
66
|
-
commands and not allow any char at the beginning.
|
67
|
-
|
68
|
-
Given a file named "config/deploy.rb" with "deploy.rb exists"
|
69
|
-
And a file named "config/deploy/staging.rb" with:
|
70
|
-
"""
|
71
|
-
unset :user, 'wrong'
|
72
|
-
set :deploy_to, '/var/www/example.com'
|
73
|
-
set :user, 'user'
|
74
|
-
server 'www.example.com'
|
75
|
-
"""
|
76
|
-
|
77
|
-
When I run `geordi shell staging`
|
78
|
-
Then the output should contain "Util.system! ssh, user@www.example.com, -t, cd /var/www/example.com/current"
|
@@ -1,21 +0,0 @@
|
|
1
|
-
Given(/the docker command cannot find the "(.*?)" binary/) do |command|
|
2
|
-
require 'geordi/docker'
|
3
|
-
expect_any_instance_of(Geordi::Docker).to receive(:mock_run).at_least(:once).and_wrap_original do |original, *args|
|
4
|
-
if args[0] =~ /which #{Regexp.escape(command)}/
|
5
|
-
false
|
6
|
-
else
|
7
|
-
original.call(*args)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
Given(/^the docker command finds a running shell "(.*?)"$/) do |shell_name|
|
13
|
-
require 'geordi/docker'
|
14
|
-
expect_any_instance_of(Geordi::Docker).to receive(:mock_parse).at_least(:once).and_wrap_original do |original, *args|
|
15
|
-
if args[0] =~ /docker-compose ps/
|
16
|
-
"other_shell\nshell_name foo"
|
17
|
-
else
|
18
|
-
original.call(*args)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
data/features/support/aruba.rb
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'aruba/cucumber'
|
2
|
-
require 'aruba/in_process'
|
3
|
-
require 'geordi/cli'
|
4
|
-
|
5
|
-
# https://github.com/erikhuda/thor/wiki/Integrating-with-Aruba-In-Process-Runs
|
6
|
-
class InProcessCliRunner
|
7
|
-
|
8
|
-
# Allow everything fun to be injected from the outside while defaulting to normal implementations.
|
9
|
-
def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel)
|
10
|
-
@argv, @stdin, @stdout, @stderr, @kernel = argv, stdin, stdout, stderr, kernel
|
11
|
-
end
|
12
|
-
|
13
|
-
def execute!
|
14
|
-
exit_code = begin
|
15
|
-
# Thor accesses these streams directly rather than letting them be injected, so we replace them...
|
16
|
-
$stderr = @stderr
|
17
|
-
$stdin = @stdin
|
18
|
-
$stdout = @stdout
|
19
|
-
|
20
|
-
# Run our normal Thor app the way we know and love.
|
21
|
-
previous_program_name = $PROGRAM_NAME
|
22
|
-
$PROGRAM_NAME = 'geordi'
|
23
|
-
Geordi::CLI.start(@argv)
|
24
|
-
|
25
|
-
# Thor::Base#start does not have a return value, assume success if no exception is raised.
|
26
|
-
0
|
27
|
-
rescue StandardError => e
|
28
|
-
# The ruby interpreter would pipe this to STDERR and exit 1 in the case of an unhandled exception
|
29
|
-
b = e.backtrace
|
30
|
-
@stderr.puts("#{b.shift}: #{e.message} (#{e.class})")
|
31
|
-
@stderr.puts(b.map{|s| "\tfrom #{s}"}.join("\n"))
|
32
|
-
1
|
33
|
-
rescue SystemExit => e
|
34
|
-
e.status
|
35
|
-
ensure
|
36
|
-
# add additional cleanup code here
|
37
|
-
|
38
|
-
$stderr = STDERR
|
39
|
-
$stdin = STDIN
|
40
|
-
$stdout = STDOUT
|
41
|
-
$PROGRAM_NAME = previous_program_name
|
42
|
-
end
|
43
|
-
|
44
|
-
# Proxy our exit code back to the injected kernel.
|
45
|
-
@kernel.exit(exit_code)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
Aruba.configure do |config|
|
50
|
-
config.main_class = InProcessCliRunner
|
51
|
-
config.command_launcher = :spawn
|
52
|
-
end
|
53
|
-
|
54
|
-
Before('@same-process') do
|
55
|
-
aruba.config.command_launcher = :in_process
|
56
|
-
end
|
57
|
-
|
58
|
-
Before do
|
59
|
-
@aruba_timeout_seconds = 5
|
60
|
-
end
|
data/features/support/env.rb
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
Given(/^(?:a|the) file(?: named)? "([^"]*)" with "([^"]*)"$/) do |file_name, file_content|
|
2
|
-
unescape_content = file_content.gsub('\n', "\n").gsub('\"', '"').gsub('\e', "\e").gsub('\033', "\e").gsub('\016', "\016").gsub('\017', "\017").gsub('\t', "\t")
|
3
|
-
|
4
|
-
write_file(file_name, unescape_content)
|
5
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
class DockerCLI < Thor
|
2
|
-
desc 'setup', 'Setup docker and build required docker-container for the current project.'
|
3
|
-
def setup
|
4
|
-
docker.setup
|
5
|
-
end
|
6
|
-
|
7
|
-
desc 'shell', 'Open a shell in the main docker container for the current project.'
|
8
|
-
option :secondary, :default => false, :type => :boolean
|
9
|
-
map 'shell' => '_shell'
|
10
|
-
def _shell
|
11
|
-
docker.shell(:secondary => options[:secondary])
|
12
|
-
end
|
13
|
-
|
14
|
-
desc 'vnc', 'Open a vnc viewer connecting to the docker container.'
|
15
|
-
def vnc
|
16
|
-
docker.vnc
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
|
21
|
-
def docker
|
22
|
-
require 'geordi/docker'
|
23
|
-
Geordi::Docker.new
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
desc 'docker', 'Manage docker containers for the current project.'
|
28
|
-
long_desc <<-LONGDESC
|
29
|
-
Manage docker containers to run your project dockerized.
|
30
|
-
|
31
|
-
It expects a docker-compose file that specifies all services, and a service
|
32
|
-
named "main" that opens a shell for the project.
|
33
|
-
|
34
|
-
There are two subcommands:
|
35
|
-
|
36
|
-
- geordi docker setup
|
37
|
-
Builds all docker containers.
|
38
|
-
- geordi docker shell
|
39
|
-
Runs the docker service named 'main'.
|
40
|
-
|
41
|
-
LONGDESC
|
42
|
-
subcommand 'docker', DockerCLI
|