class Baleen::CiServer

Public Class Methods

run!(params={}) click to toggle source
Calls superclass method
# File lib/baleen/ci_server.rb, line 12
def self.run!(params={})
  docker_host  = params[:docker_host]
  docker_port  = params[:docker_port]
  project_file = params[:project_file] || default_project_file
  log_level    = params[:log_level]    || default_log_level

  Docker.url  = "http://#{docker_host}:#{docker_port}"
  Baleen::Project.load_project(project_file)
  Baleen::Configuration.log_level = log_level

  set :port, params[:port]
  set :environment, :production
  super
end

Private Instance Methods

ci_run(project) click to toggle source
# File lib/baleen/ci_server.rb, line 41
def ci_run(project)
  BL.notice("CI started")
  BL.info(" Project: #{project.name}")
  BL.info(" Repo:    #{project.repo}")
  BL.info(" Branch:  #{project.branch}").eol

  if project.ci[:build]
    BL.notice("Building new image for #{project.image} before running tests...")
    result = Baleen::Builder.new(project, Docker.url).build
    BL.info (result)
  end

  BL.notice("Start running tests...")
  RunnerManager.new(nil, project.task).run do |response|
    logger  = Baleen::BL.instance
    display = ResultDisplay.new(response.results, Time.now, Time.now, logger)
    display.summary
    display.detail
  end
  BL.notice("Finish running tests...").eol
end