bump version in a few spots
[discourse_docker.git] / image / build.rb
CommitLineData
bc33afd9
S
1# simple build file to be used locally by Sam
2#
3require 'pty'
4
4669716b 5$version = "1.3.0"
bc33afd9 6
399a0bba 7$docker_squash = "https://github.com/jwilder/docker-squash/releases/download/v0.2.0/docker-squash-linux-amd64-v0.2.0.tar.gz"
bc33afd9 8
399a0bba
SS
9$base_image = "discourse/base:#{$version}"
10$image = "discourse/discourse:#{$version}"
570c677f 11$test = "discourse/discourse_test:#{$version}"
bc33afd9
S
12
13if ENV["USER"] != "root"
14 STDERR.puts "Build script must be ran as root due to docker-squash"
15 exit 1
16end
17
18def run(command)
19 lines = []
20 PTY.spawn(command) do |stdin, stdout, pid|
21 begin
22 stdin.each do |line|
23 lines << line
24 puts line
25 end
26 rescue Errno::EIO
27 # we are done
28 end
29 end
30
31 lines
32end
33
34def ensure_docker_squash
35 return if File.exist?("docker-squash")
36 run ("wget #{$docker_squash}")
37 run ("tar -xzvf *.tar.gz")
03bbcd0d 38 run ("rm -f docker-squash-linux*")
bc33afd9
S
39end
40
41ensure_docker_squash
42
43def build(path, tag, is_base)
44 lines = run("cd #{path} && docker build .")
45 img = lines[-1]["successfully built ".length..-1].strip
46
47 run("docker save #{img} | ./docker-squash -t #{tag} -verbose #{is_base && "-from root"} | docker load")
48end
49
50build("base",$base_image,true)
51build("discourse",$image,false)
570c677f 52build("discourse_test",$test,false)