Build script and bump up to version 1.0.8
authorSam <sam.saffron@gmail.com>
Tue, 10 Mar 2015 02:19:11 +0000 (13:19 +1100)
committerSam <sam.saffron@gmail.com>
Tue, 10 Mar 2015 02:19:11 +0000 (13:19 +1100)
image/base/Dockerfile
image/build.rb [new file with mode: 0644]
image/discourse/Dockerfile

index 5987f3317b3bb71afa698a5059ad06b401c5fd0a..c60bc1278fafdf04182fa49727d427a0ead47016 100644 (file)
@@ -2,7 +2,7 @@
 # When new LTS ships we can upgrade
 
 # NAME:     discourse_base
-# VERSION:  1.0.7
+# VERSION:  1.0.8
 
 FROM ubuntu:14.04
 
diff --git a/image/build.rb b/image/build.rb
new file mode 100644 (file)
index 0000000..ff329e9
--- /dev/null
@@ -0,0 +1,52 @@
+# simple build file to be used locally by Sam
+#
+require 'pty'
+
+$version = "1.0.8"
+
+$docker_squash = "https://github.com/jwilder/docker-squash/releases/download/v0.0.11/docker-squash-linux-amd64-v0.0.11.tar.gz"
+
+$base_image = "samsaffron/discourse_base:#{$version}"
+$image = "samsaffron/discourse:#{$version}"
+
+if ENV["USER"] != "root"
+  STDERR.puts "Build script must be ran as root due to docker-squash"
+  exit 1
+end
+
+def run(command)
+  lines = []
+  PTY.spawn(command) do |stdin, stdout, pid|
+    begin
+      stdin.each do |line|
+        lines << line
+        puts line
+      end
+    rescue Errno::EIO
+      # we are done
+    end
+  end
+
+  lines
+end
+
+def ensure_docker_squash
+  return if File.exist?("docker-squash")
+  run ("wget #{$docker_squash}")
+  run ("tar -xzvf *.tar.gz")
+  run ("rm docker-squash-linux*")
+end
+
+ensure_docker_squash
+
+def build(path, tag, is_base)
+  lines = run("cd #{path} && docker build .")
+  img = lines[-1]["successfully built ".length..-1].strip
+
+  run("docker save #{img} | ./docker-squash -t #{tag} -verbose #{is_base && "-from root"} | docker load")
+end
+
+build("base",$base_image,true)
+build("discourse",$image,false)
+
+
index c3ae340ee0293a48edcc0937ea33484916b1704a..e084ccb30fa33c0b78e517c7c27b30ff0cbad613 100644 (file)
@@ -1,5 +1,5 @@
-# Current version 1.0.7
-FROM samsaffron/discourse_base:1.0.7
+# Current version 1.0.8
+FROM samsaffron/discourse_base:1.0.8
 
 MAINTAINER Sam Saffron "https://twitter.com/samsaffron"