barnacle 0.1.1 → 0.1.2
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 +4 -4
- data/README.md +43 -2
- data/exe/barnacle +2 -3
- data/lib/barnacle/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4b9824a11e061402acdd28899c4ef473dfb45b1
|
4
|
+
data.tar.gz: d2cbfaca9f71f56f85b0e65df2695f2c1d76bbdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14e009c2729af86440bc41eb47f9101f8e06e9f38d6dc701e5e85d0044a9a945ab954622ca511469ba3ef1fc6bdecd6f25ebf18f92e7c0befc7f09bfcfbb4305
|
7
|
+
data.tar.gz: c5fe7113888300c72ce6facb188783ebaa9175f1ac039c71f79715c5b15bbe7a322fccd27c4ed5f48999cdb71d266729f716a6f99c7ad173ad32c009ee3260f7
|
data/README.md
CHANGED
@@ -82,7 +82,7 @@ docker run --detach=true --name=[name] --hostname=[hostname] [config.yml switche
|
|
82
82
|
##### barnacle down (runs)
|
83
83
|
|
84
84
|
```
|
85
|
-
docker stop
|
85
|
+
docker stop [name]
|
86
86
|
```
|
87
87
|
|
88
88
|
|
@@ -96,7 +96,7 @@ docker ps -a
|
|
96
96
|
##### docker enter (executes)
|
97
97
|
|
98
98
|
```
|
99
|
-
docker exec -ti
|
99
|
+
docker exec -ti [name] bash
|
100
100
|
|
101
101
|
```
|
102
102
|
|
@@ -141,6 +141,47 @@ assets, and tell the web server of the changes in your Dockerfile. (research
|
|
141
141
|
into caching as much 'bundle install' as possible)
|
142
142
|
|
143
143
|
|
144
|
+
## Musings on the docker way vs. the barnacle way
|
145
|
+
|
146
|
+
If you are working for hipsters.com with a valuation of a trillion dollars and
|
147
|
+
are deploying one new host per second then the barnacle way is the wrong way.
|
148
|
+
|
149
|
+
One reason why is that barnacle will build the entire final image at least once
|
150
|
+
on every new server and this can take minutes. Another reason is that you might
|
151
|
+
pass new deployments around as images to devops.
|
152
|
+
|
153
|
+
If you're a graying neckbeard that privisions new hosts as often as you
|
154
|
+
provision new underpants then the barnacle way can work. You don't need to
|
155
|
+
move things around as docker images. You move deployments around as
|
156
|
+
directories with scp, rsync or even ftp. To you a docker image is just a build
|
157
|
+
cache for a new container and it stays where it is.
|
158
|
+
|
159
|
+
__Docker:__ is cool and innovative.
|
160
|
+
|
161
|
+
__Barnacle:__ is a feeble ruby script written by some slacker who thinks docker is
|
162
|
+
too complicated for him.
|
163
|
+
|
164
|
+
__Docker:__ 'deployments' are passed around as images, probably using a docker registry.
|
165
|
+
|
166
|
+
__Barnacle:__ 'deployments' are just folders with a barnacle directory containing a
|
167
|
+
Dockerfile and an optional config.yml file. Except for the base image for the
|
168
|
+
original build a docker registry isn't used.
|
169
|
+
|
170
|
+
__Docker:__ the docker host doesn't really see anything other than new images
|
171
|
+
arriving for deployment.
|
172
|
+
|
173
|
+
__Barnacle:__ you'll have deployment directories laying around. They probably got
|
174
|
+
there from by git or rsync.
|
175
|
+
|
176
|
+
__Docker:__ images are built on dev or automatically at the official docker registry.
|
177
|
+
|
178
|
+
__Barnacle:__ images are built on the production host, kept around just for caching
|
179
|
+
purposes, and are otherwise given no notice.
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
144
185
|
|
145
186
|
## Contributing
|
146
187
|
|
data/exe/barnacle
CHANGED
@@ -46,13 +46,12 @@ end
|
|
46
46
|
#-------------------------------------------------------------------------------
|
47
47
|
if File.exists?(yml_filename)
|
48
48
|
if docker_yml = YAML.load_file(yml_filename)['docker']
|
49
|
-
p docker_yml
|
50
49
|
options.merge!(docker_yml) if docker_yml
|
51
50
|
else
|
52
|
-
cputs "Warning: #{yml_filename} found but didn't contain 'docker' node,
|
51
|
+
cputs "Warning: #{yml_filename} found but didn't contain 'docker' node, can't use"
|
53
52
|
end
|
54
53
|
else
|
55
|
-
cputs "Warning: no config file found, using only defaults"
|
54
|
+
cputs "Warning: no config file found, using only defaults, but that's ok."
|
56
55
|
end
|
57
56
|
|
58
57
|
|
data/lib/barnacle/version.rb
CHANGED