1 # simple build file to be used locally by Sam
7 $docker_squash = "https://github.com/jwilder/docker-squash/releases/download/v0.0.11/docker-squash-linux-amd64-v0.0.11.tar.gz"
9 $base_image = "samsaffron/discourse_base:#{$version}"
10 $image = "samsaffron/discourse:#{$version}"
11 $fast_switch= "samsaffron/discourse_fast_switch:#{$version}"
13 if ENV["USER"] != "root"
14 STDERR.puts
"Build script must be ran as root due to docker-squash"
20 PTY
.spawn(command
) do |stdin, stdout, pid
|
34 def ensure_docker_squash
35 return if File
.exist
?("docker-squash")
36 run ("wget #{$docker_squash}")
37 run ("tar -xzvf *.tar.gz")
38 run ("rm -f docker-squash-linux*")
43 def build(path
, tag
, is_base
)
44 lines
= run("cd #{path} && docker build .")
45 img
= lines
[-1]["successfully built ".length
..-1].strip
47 run("docker save #{img} | ./docker-squash -t #{tag} -verbose #{is_base && "-from root
"} | docker load")
50 build("base",$base_image,true)
51 build("discourse",$image,false)
52 build("discourse_fast_switch",$fast_switch,false)