class Assemblyline::CLI

Attributes

local_mount[R]

Public Instance Methods

build(url_or_path) click to toggle source
# File lib/assemblyline/cli.rb, line 11
def build(url_or_path)
  init_local_mount url_or_path
  exec "docker run --rm #{bind_mounts} #{env_flags} #{debug_flags} #{dev_mount} #{local_mount} #{assemblyline_builder} bin/build #{build_command(url_or_path)}" # rubocop:disable Metrics/LineLength
end
update() click to toggle source
# File lib/assemblyline/cli.rb, line 17
def update
  fail unless system "docker pull #{assemblyline_builder}"
  exec "gem install assemblyline-cli"
end
version() click to toggle source
# File lib/assemblyline/cli.rb, line 24
def version
  puts CLI_VERSION
end

Private Instance Methods

assemblyline_builder() click to toggle source
# File lib/assemblyline/cli.rb, line 80
def assemblyline_builder
  "quay.io/assemblyline/builder:latest"
end
bind_mounts() click to toggle source
# File lib/assemblyline/cli.rb, line 76
def bind_mounts
  "-v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock"
end
branch_tip() click to toggle source
# File lib/assemblyline/cli.rb, line 53
def branch_tip
  `git rev-parse #{ENV["branch"]}`.chomp
end
build_command(url_or_path) click to toggle source
# File lib/assemblyline/cli.rb, line 32
def build_command(url_or_path)
  if local_mount
    "local_build #{push}#{sha}"
  else
    "build #{push}#{url_or_path} #{options[:ref]}"
  end
end
debug_flags() click to toggle source
# File lib/assemblyline/cli.rb, line 66
def debug_flags
  return unless options[:debug] || $stdout.isatty
  "-ti"
end
dev_mount() click to toggle source
# File lib/assemblyline/cli.rb, line 71
def dev_mount
  return unless options[:dev]
  "-v #{File.expand_path(options[:dev], Dir.pwd)}:/usr/src"
end
dir?(path) click to toggle source
# File lib/assemblyline/cli.rb, line 62
def dir?(path)
  File.directory?(File.expand_path(path, Dir.pwd))
end
env_flags() click to toggle source
# File lib/assemblyline/cli.rb, line 84
def env_flags
  Env.new.to_flags
end
init_local_mount(path) click to toggle source
# File lib/assemblyline/cli.rb, line 57
def init_local_mount(path)
  return unless dir?(path)
  @local_mount = "-v #{File.expand_path(path, Dir.pwd)}:/usr/assemblyline/local"
end
push() click to toggle source
# File lib/assemblyline/cli.rb, line 40
def push
  return unless options[:push]
  "--push "
end
sha() click to toggle source
# File lib/assemblyline/cli.rb, line 45
def sha
  branch_tip == "" ? tip : branch_tip
end
tip() click to toggle source
# File lib/assemblyline/cli.rb, line 49
def tip
  `git rev-parse HEAD`.chomp
end