Class: Gitlab::QA::Docker::Engine
- Inherits:
-
Object
- Object
- Gitlab::QA::Docker::Engine
- Defined in:
- lib/gitlab/qa/docker/engine.rb
Constant Summary collapse
- DOCKER_HOST =
ENV['DOCKER_HOST'] || 'http://localhost'
Instance Method Summary collapse
- #attach(name, &block) ⇒ Object
- #hostname ⇒ Object
- #network_create(name) ⇒ Object
- #network_exists?(name) ⇒ Boolean
- #pull(image, tag) ⇒ Object
- #remove(name) ⇒ Object
- #run(image, tag, *args) ⇒ Object
- #stop(name) ⇒ Object
Instance Method Details
#attach(name, &block) ⇒ Object
26 27 28 |
# File 'lib/gitlab/qa/docker/engine.rb', line 26 def attach(name, &block) Docker::Command.execute("attach --sig-proxy=false #{name}", &block) end |
#hostname ⇒ Object
7 8 9 |
# File 'lib/gitlab/qa/docker/engine.rb', line 7 def hostname URI(DOCKER_HOST).host end |
#network_create(name) ⇒ Object
46 47 48 |
# File 'lib/gitlab/qa/docker/engine.rb', line 46 def network_create(name) Docker::Command.execute("network create #{name}") end |
#network_exists?(name) ⇒ Boolean
38 39 40 41 42 43 44 |
# File 'lib/gitlab/qa/docker/engine.rb', line 38 def network_exists?(name) Docker::Command.execute("network inspect #{name}") rescue Docker::Command::StatusError false else true end |
#pull(image, tag) ⇒ Object
11 12 13 |
# File 'lib/gitlab/qa/docker/engine.rb', line 11 def pull(image, tag) Docker::Command.execute("pull #{image}:#{tag}") end |
#remove(name) ⇒ Object
34 35 36 |
# File 'lib/gitlab/qa/docker/engine.rb', line 34 def remove(name) Docker::Command.execute("rm -f #{name}") end |
#run(image, tag, *args) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/gitlab/qa/docker/engine.rb', line 15 def run(image, tag, *args) Docker::Command.new('run').tap do |command| yield command command << "#{image}:#{tag}" command << args if args.any? command.execute! end end |
#stop(name) ⇒ Object
30 31 32 |
# File 'lib/gitlab/qa/docker/engine.rb', line 30 def stop(name) Docker::Command.execute("stop #{name}") end |