lib/minke/tasks/task.rb in minke-1.13.16 vs lib/minke/tasks/task.rb in minke-1.13.18
- old
+ new
@@ -65,19 +65,20 @@
# runs the given command in a docker container
def run_command_in_container command
begin
@logger.info "Running command: #{command}"
- settings = @generator_config.build_settings.docker_settings
- build_image = create_container_image
+ settings = @generator_config.build_settings.docker_settings
+ build_image = create_container_image
+ working_directory = create_working_directory
args = {
:image => build_image,
:command => command,
:volumes => settings.binds,
:environment => settings.env,
- :working_directory => settings.working_directory
+ :working_directory => working_directory
}
container, success = @docker_runner.create_and_run_container args
# throw exception if failed
raise "Unable to run command #{command}" unless success
@@ -104,9 +105,21 @@
@logger.debug "Pulling image: #{build_image}"
@docker_runner.pull_image build_image unless @docker_runner.find_image build_image
end
build_image
+ end
+
+ def create_working_directory
+ base_path = @generator_config.build_settings.docker_settings.working_directory
+ override_path = @task_settings.docker.working_directory unless @task_settings.docker == nil
+
+ if override_path != nil
+ path = Pathname.new(base_path)
+ return (path + override_path).to_s
+ else
+ return base_path
+ end
end
end
end
end