bricky 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/etc/bricks/helper/builder +1 -1
- data/etc/bricks/helper/start +33 -0
- data/etc/templates/bricky/images/builder/Dockerfile +15 -1
- data/lib/bricky/bricks/bundle.rb +1 -0
- data/lib/bricky/command.rb +7 -3
- data/lib/bricky/commands/bootstrap.rb +2 -4
- data/lib/bricky/commands/builder.rb +28 -10
- data/lib/bricky/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTk2Mjc3MWI3NGNhYTQwOGY5MDMyMjY0YTY0OWQ5YThiYTU3ODc3OQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YTdlMTFiMjJjNjEzOGY4YTVmZDQzZTQwYTc3ZjI0ZGE1ZGI2ZThkNw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NzMwMzRiNjBlNWE2NmU2MTQwNDkzY2VjNzcyNDE5NGM3MjEzYzZiNGIxZDZm
|
10
|
+
ZmY3MzdhMTQwOWFkNmNjMzFiZTc5OTdmNjg2ZTRhMWFmZTIwNzJhNzQzNmNl
|
11
|
+
MzliZjUwNjZlMjA4YmZjN2VjMWI2NjZlZjM5MDcxZTExY2M1NzM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTc2YmYwZWExNjZiNDdmMDlhNWM3NTc4NTk0OGQ3NTJkZTEzODYyYWM2NjVh
|
14
|
+
ZGY3MWM0MTRhOTQ5N2Q3MjM1YTVkZWU1MzVjOWQ1M2ZkZTg1MTljODdkYmYw
|
15
|
+
OTZlMzY4MDQ5MWYzYWI0YmY4Nzg4NTQ0YTRmODhlOThmNDQ5Mjk=
|
data/etc/bricks/helper/builder
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/bin/bash -le
|
2
|
+
|
3
|
+
. $BRICKS_HOME/builder
|
4
|
+
|
5
|
+
builder() {
|
6
|
+
eval $BRICKY_ENTRYPOINTS
|
7
|
+
}
|
8
|
+
|
9
|
+
builder_source() {
|
10
|
+
scripts=$(echo $BRICKY_ENTRYPOINTS | tr " && " "\n")
|
11
|
+
cat $scripts > /tmp/builderplan
|
12
|
+
grep -v "bin/bash" /tmp/builderplan | more
|
13
|
+
}
|
14
|
+
|
15
|
+
shell() {
|
16
|
+
export -f builder
|
17
|
+
export -f builder_source
|
18
|
+
|
19
|
+
info "\n\nType 'builder' to build the project :p"
|
20
|
+
info "Type 'builder_source' to see the bricks compilation :p\n\n"
|
21
|
+
/bin/bash
|
22
|
+
}
|
23
|
+
|
24
|
+
start() {
|
25
|
+
if [[ "$BRICKY_ENTRYPOINTS_SHELL" == "true" ]]
|
26
|
+
then
|
27
|
+
shell
|
28
|
+
else
|
29
|
+
builder
|
30
|
+
fi
|
31
|
+
}
|
32
|
+
|
33
|
+
start
|
@@ -1,2 +1,16 @@
|
|
1
|
-
|
1
|
+
# The image locaweb/wheezy-ruby2x contains the following packages:
|
2
|
+
# locaweb's: ruby, ruby-dev, and bundler packages, and a lots of
|
3
|
+
# tools inherits from wheezy:development, ex: build-essential.
|
4
|
+
FROM locaweb/wheezy-ruby2x:development
|
2
5
|
MAINTAINER bricky
|
6
|
+
|
7
|
+
# Small dependencies cheatsheet:
|
8
|
+
#
|
9
|
+
# sqlite: sqlite3, libsqlite3-dev
|
10
|
+
# nokogiri: libxml2-dev libxslt-dev
|
11
|
+
# mysql: libmysqlclient-dev
|
12
|
+
# sqlserver: freetds-dev
|
13
|
+
# postgresql: libpq-dev
|
14
|
+
|
15
|
+
# RUN apt-get update
|
16
|
+
# RUN apt-get install --no-install-recommends -y --force-yes <your-deps-here>
|
data/lib/bricky/bricks/bundle.rb
CHANGED
data/lib/bricky/command.rb
CHANGED
@@ -10,17 +10,21 @@ module Bricky
|
|
10
10
|
class Command < Thor
|
11
11
|
desc :install, "copy configuration files"
|
12
12
|
def install
|
13
|
-
Bricky::Commands::Install.new
|
13
|
+
command = Bricky::Commands::Install.new
|
14
|
+
command.execute
|
14
15
|
end
|
15
16
|
|
16
17
|
desc :bootstrap, "bootstrap project images"
|
17
18
|
def bootstrap
|
18
|
-
Bricky::Commands::Bootstrap.
|
19
|
+
command = Bricky::Commands::Bootstrap.new
|
20
|
+
command.execute
|
19
21
|
end
|
20
22
|
|
21
23
|
desc :builder, "build project"
|
24
|
+
method_option :shell, :type => :boolean, :aliases => "-s"
|
22
25
|
def builder
|
23
|
-
Bricky::Commands::Builder.
|
26
|
+
command = Bricky::Commands::Builder.new(options)
|
27
|
+
command.execute
|
24
28
|
end
|
25
29
|
end
|
26
30
|
end
|
@@ -3,9 +3,7 @@ require "fileutils"
|
|
3
3
|
|
4
4
|
module Bricky
|
5
5
|
module Commands
|
6
|
-
|
7
|
-
extend self
|
8
|
-
|
6
|
+
class Bootstrap
|
9
7
|
def execute
|
10
8
|
puts "Boostraping images".colorize(:light_blue)
|
11
9
|
images.each {|image| build(image)}
|
@@ -17,7 +15,7 @@ module Bricky
|
|
17
15
|
hack = command(image.name, create_hack_image(image))
|
18
16
|
|
19
17
|
[base, hack].each do |code|
|
20
|
-
puts "Processing #{name} image: ".colorize(:blue) + code
|
18
|
+
puts "Processing '#{image.name}' image: ".colorize(:blue) + code
|
21
19
|
|
22
20
|
unless system(code)
|
23
21
|
puts "~~~~~~~~~~~ Problems building image ~~~~~~~~~~~".colorize(:white).on_red
|
@@ -2,8 +2,12 @@ require "bricky/bricks"
|
|
2
2
|
|
3
3
|
module Bricky
|
4
4
|
module Commands
|
5
|
-
|
6
|
-
|
5
|
+
class Builder
|
6
|
+
attr_accessor :options
|
7
|
+
|
8
|
+
def initialize(options)
|
9
|
+
@options = options
|
10
|
+
end
|
7
11
|
|
8
12
|
def execute
|
9
13
|
puts "Building Project".colorize(:light_blue)
|
@@ -11,8 +15,8 @@ module Bricky
|
|
11
15
|
end
|
12
16
|
|
13
17
|
private
|
14
|
-
def build(
|
15
|
-
code = command(
|
18
|
+
def build(images)
|
19
|
+
code = command(images)
|
16
20
|
puts format(code)
|
17
21
|
|
18
22
|
unless system(code)
|
@@ -24,12 +28,7 @@ module Bricky
|
|
24
28
|
end
|
25
29
|
|
26
30
|
def command(image)
|
27
|
-
|
28
|
-
envs = bricks.collect(&:environments).uniq.join(" ")
|
29
|
-
arguments = bricks.collect(&:arguments).uniq.join(" ")
|
30
|
-
entrypoints = bricks.collect(&:entrypoint).compact.uniq.join(" && ")
|
31
|
-
|
32
|
-
"docker run #{envs} #{arguments} -i -t #{image.name} /bin/bash -l -c '#{entrypoints}'"
|
31
|
+
"docker run #{envs} #{arguments} -i -t #{image.name} /bricks/helper/start"
|
33
32
|
end
|
34
33
|
|
35
34
|
def format(command)
|
@@ -37,6 +36,25 @@ module Bricky
|
|
37
36
|
result.split(param).join("\n\t #{param}")
|
38
37
|
end
|
39
38
|
end
|
39
|
+
|
40
|
+
def bricks
|
41
|
+
@bricks ||= Bricky::Bricks.resolve
|
42
|
+
end
|
43
|
+
|
44
|
+
def envs
|
45
|
+
environments = bricks.collect(&:environments)
|
46
|
+
environments << "-e BRICKY_ENTRYPOINTS='#{entrypoints}'"
|
47
|
+
environments << "-e BRICKY_ENTRYPOINTS_SHELL=#{options.fetch("shell", false)}"
|
48
|
+
environments.join(" ")
|
49
|
+
end
|
50
|
+
|
51
|
+
def arguments
|
52
|
+
args = bricks.collect(&:arguments).uniq.join(" ")
|
53
|
+
end
|
54
|
+
|
55
|
+
def entrypoints
|
56
|
+
bricks.collect(&:entrypoint).compact.uniq.join(" && ")
|
57
|
+
end
|
40
58
|
end
|
41
59
|
end
|
42
60
|
end
|
data/lib/bricky/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bricky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- andrerocker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- etc/bricks/bundle/builder
|
93
93
|
- etc/bricks/debian/builder
|
94
94
|
- etc/bricks/helper/builder
|
95
|
+
- etc/bricks/helper/start
|
95
96
|
- etc/bricks/helper/suexec
|
96
97
|
- etc/bricks/mounts/builder
|
97
98
|
- etc/hacker/id_container/Dockerfile
|