1 # simple build file to be used locally by Sam
8 PTY
.spawn(command
) do |stdin, stdout, pid
|
24 lines
= run("cd #{image[:name]} && docker build . --tag #{image[:tag]} #{image[:squash] ? '--squash' : ''}")
25 sucess
= true if lines
[-1] =~
'successfully built'
29 run("sed -e 's/\(db_name: discourse\)/\1_development/' ../templates/postgres.template.yml > discourse_dev/postgres.template.yml")
30 run("cp ../templates/redis.template.yml discourse_dev/redis.template.yml")
34 OptionParser
.new
do |parser
|
35 parser
.on("-i", "--image image",
36 "Build the image. No parameter means [base discourse discourse_test].") do |i
|
37 options
[:image] = [i
.to_sym
]
41 DEFAULT_IMAGES
= [:base, :discourse, :discourse_test, :discourse_dev, :discourse_bench]
43 todo
= options
[:image] || DEFAULT_IMAGES
47 base
: { name
: 'base', tag
: "discourse/base:#{version}", squash
: true },
48 discourse_test
: { name
: 'discourse_test', tag
: "discourse/discourse_test:#{version}", squash
: false},
49 discourse_dev
: { name
: 'discourse_dev', tag
: "discourse/discourse_dev:#{version}", squash
: false }
54 bump(images
[image
][:name], options
[:version]) if options
[:version]
56 dev_deps() if image
== :discourse_dev
57 run
"(cd base && ./download_phantomjs)" if image
== :base