Class: JamesBond::MissionBuild::BuildHandler
- Inherits:
-
Object
- Object
- JamesBond::MissionBuild::BuildHandler
- Defined in:
- lib/james_bond/mission_build/build_handler.rb,
lib/james_bond/mission_build/build_handler/unable_to_find_dockerfile_error.rb
Defined Under Namespace
Classes: UnableToFindDockerfileError
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
Instance Method Summary collapse
-
#initialize(command, config) ⇒ BuildHandler
constructor
A new instance of BuildHandler.
- #run ⇒ Object
Constructor Details
#initialize(command, config) ⇒ BuildHandler
Returns a new instance of BuildHandler.
9 10 11 12 13 |
# File 'lib/james_bond/mission_build/build_handler.rb', line 9 def initialize(command, config) @command = command @config = config @docker_config = config.docker_config end |
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
7 8 9 |
# File 'lib/james_bond/mission_build/build_handler.rb', line 7 def config @config end |
Instance Method Details
#run ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/james_bond/mission_build/build_handler.rb', line 15 def run image_name = build_image_name dockerfile_name = build_dockerfile_name raise(UnableToFindDockerfileError, dockerfile_path(dockerfile_name)) \ if !dockerfile_exists?(dockerfile_name) command = "docker build -t #{image_name} -f #{dockerfile_name} ." puts "Building docker image \"#{image_name}\" with #{dockerfile_name}.. " Open3.popen3(command) do |stdin, stdout, stderr, thread| Thread.new do until (line = stdout.gets).nil? do puts line end end thread.join end puts "Done!" end |