kitchen-docker_cli 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -2
- data/README.md +59 -13
- data/lib/kitchen/driver/docker_cli.rb +2 -0
- data/lib/kitchen/driver/docker_cli_version.rb +1 -1
- data/spec/kitchen/driver/docker_cli_spec.rb +8 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7483d1dbadf7606fd954e80bf8b819bcf44b663
|
4
|
+
data.tar.gz: 0369d2399ac693f3526cfad5cd92c93542b8b93e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bdc553437c67875343bea2405825be1394fc7687f11e1219575c44864ae849afb0524be1d9675ff1ef4daf6b82484823a64d5a58f93020b5de75d332890dfaa
|
7
|
+
data.tar.gz: 93444fbd34ea23487d1e2245e706a953db86906258ffe2c9e15700aa6fe423e8dd379397b060d286c2982fee70410550ac50e2e092ebfb82baaa7712ab3001c7
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.6.0
|
2
|
+
|
3
|
+
* Pull request [#4][]: allow setup environment variables(add environment option) ([@hd-deman][])
|
4
|
+
* Add `network` option
|
5
|
+
|
1
6
|
## 0.5.0
|
2
7
|
|
3
8
|
* Add `memory_limit` option
|
@@ -17,11 +22,11 @@
|
|
17
22
|
|
18
23
|
## 0.2.0.beta
|
19
24
|
|
20
|
-
* Add
|
25
|
+
* Add `privileged` option
|
21
26
|
|
22
27
|
## 0.1.1.alpha
|
23
28
|
|
24
|
-
* Change
|
29
|
+
* Change `no_cache` option's default value to `false`
|
25
30
|
|
26
31
|
## 0.1.0.alpha
|
27
32
|
|
@@ -29,4 +34,6 @@
|
|
29
34
|
|
30
35
|
<!--- The following link definition list is generated by PimpMyChangelog --->
|
31
36
|
[#2]: https://github.com/marcy-terui/kitchen-docker_cli/issues/2
|
37
|
+
[#4]: https://github.com/marcy-terui/kitchen-docker_cli/issues/4
|
32
38
|
[@grubernaut]: https://github.com/grubernaut
|
39
|
+
[@hd-deman]: https://github.com/hd-deman
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ Therefore, we can test with an environment that has no extra software such as ``
|
|
9
9
|
- Test-Kitchen (>= 1.3)
|
10
10
|
|
11
11
|
- Docker (>= 1.3)
|
12
|
-
This driver uses
|
12
|
+
This driver uses `docker exec` command.
|
13
13
|
|
14
14
|
- tar (GNU Tar)
|
15
15
|
|
@@ -19,7 +19,7 @@ This driver uses ```docker exec``` command.
|
|
19
19
|
gem install kitchen-docker_cli
|
20
20
|
```
|
21
21
|
|
22
|
-
or put
|
22
|
+
or put `Gemfile` in your project directory.
|
23
23
|
|
24
24
|
```ruby
|
25
25
|
source 'https://rubygems.org'
|
@@ -35,7 +35,7 @@ bundle install
|
|
35
35
|
|
36
36
|
## <a name="config"></a> Configuration
|
37
37
|
|
38
|
-
At first, put your
|
38
|
+
At first, put your `.kithcen(.local).yml` like this.
|
39
39
|
|
40
40
|
```yml
|
41
41
|
---
|
@@ -56,7 +56,7 @@ suites:
|
|
56
56
|
|
57
57
|
The Docker image's path.
|
58
58
|
|
59
|
-
The default value get from
|
59
|
+
The default value get from `platform.name`.
|
60
60
|
|
61
61
|
Examples:
|
62
62
|
|
@@ -68,7 +68,7 @@ Examples:
|
|
68
68
|
|
69
69
|
The Docker image's platform.
|
70
70
|
|
71
|
-
The default value get from
|
71
|
+
The default value get from `platform.name`.
|
72
72
|
|
73
73
|
Examples:
|
74
74
|
|
@@ -78,9 +78,9 @@ Examples:
|
|
78
78
|
|
79
79
|
### command
|
80
80
|
|
81
|
-
The command to be executed at
|
81
|
+
The command to be executed at `docker run`.
|
82
82
|
|
83
|
-
The default value is
|
83
|
+
The default value is `sh -c 'while true; do sleep 1d; done;'`.
|
84
84
|
|
85
85
|
Examples:
|
86
86
|
|
@@ -90,9 +90,9 @@ Examples:
|
|
90
90
|
|
91
91
|
### run_command
|
92
92
|
|
93
|
-
Adds
|
93
|
+
Adds `RUN` command(s) to `Dockerfile`.
|
94
94
|
|
95
|
-
The default value is
|
95
|
+
The default value is `nil`.
|
96
96
|
|
97
97
|
Examples:
|
98
98
|
|
@@ -102,11 +102,25 @@ Examples:
|
|
102
102
|
- service httpd start
|
103
103
|
```
|
104
104
|
|
105
|
+
### environment
|
106
|
+
|
107
|
+
Adds `ENV` command(s) to `Dockerfile`.
|
108
|
+
|
109
|
+
The default value is `nil`.
|
110
|
+
|
111
|
+
Examples:
|
112
|
+
|
113
|
+
```yml
|
114
|
+
environment:
|
115
|
+
http_proxy: http://proxy.example.com:8080/
|
116
|
+
LANG: ja_JP.UTF-8
|
117
|
+
```
|
118
|
+
|
105
119
|
### no_cache
|
106
120
|
|
107
|
-
Not use the cached image on
|
121
|
+
Not use the cached image on `docker build`.
|
108
122
|
|
109
|
-
The default value is
|
123
|
+
The default value is `false`.
|
110
124
|
|
111
125
|
Examples:
|
112
126
|
|
@@ -118,7 +132,7 @@ Examples:
|
|
118
132
|
|
119
133
|
Give extended privileges to the suite container.
|
120
134
|
|
121
|
-
The default value is
|
135
|
+
The default value is `false`.
|
122
136
|
|
123
137
|
Examples:
|
124
138
|
|
@@ -136,9 +150,23 @@ Examples:
|
|
136
150
|
container_name: web
|
137
151
|
```
|
138
152
|
|
153
|
+
### network
|
154
|
+
|
155
|
+
Set the Network mode for the container.
|
156
|
+
- `bridge`: creates a new network stack for the container on the docker bridge
|
157
|
+
- `none`: no networking for this container
|
158
|
+
- `container:<name|id>`: reuses another container network stack
|
159
|
+
- `host`: use the host network stack inside the container
|
160
|
+
|
161
|
+
Examples:
|
162
|
+
|
163
|
+
```yml
|
164
|
+
network: host
|
165
|
+
```
|
166
|
+
|
139
167
|
### link
|
140
168
|
|
141
|
-
Set
|
169
|
+
Set `container_name`(and alias) of other container(s) that connect from the suite container.
|
142
170
|
|
143
171
|
Examples:
|
144
172
|
|
@@ -152,6 +180,24 @@ Examples:
|
|
152
180
|
- redis:kvs
|
153
181
|
```
|
154
182
|
|
183
|
+
### publish
|
184
|
+
|
185
|
+
Publish a container's port or a range of ports to the host.
|
186
|
+
|
187
|
+
The default value is `nil`.
|
188
|
+
|
189
|
+
Examples:
|
190
|
+
|
191
|
+
```yml
|
192
|
+
publish: 80
|
193
|
+
```
|
194
|
+
|
195
|
+
```yml
|
196
|
+
publish:
|
197
|
+
- 80:8080
|
198
|
+
- 22:2222
|
199
|
+
```
|
200
|
+
|
155
201
|
### publish_all
|
156
202
|
|
157
203
|
Publish all exposed ports to the host interfaces.
|
@@ -131,6 +131,7 @@ module Kitchen
|
|
131
131
|
cmd << " -m #{config[:memory_limit]}" if config[:memory_limit]
|
132
132
|
cmd << " -c #{config[:cpu_shares]}" if config[:cpu_shares]
|
133
133
|
cmd << ' --privileged' if config[:privileged]
|
134
|
+
cmd << " --net #{config[:network]}" if config[:network]
|
134
135
|
Array(config[:publish]).each { |pub| cmd << " -p #{pub}" }
|
135
136
|
Array(config[:volume]).each { |vol| cmd << " -v #{vol}" }
|
136
137
|
Array(config[:link]).each { |link| cmd << " --link #{link}" }
|
@@ -187,6 +188,7 @@ module Kitchen
|
|
187
188
|
# TODO: Support other distribution
|
188
189
|
end
|
189
190
|
Array(config[:run_command]).each { |cmd| file << "RUN #{cmd}" }
|
191
|
+
Array(config[:environment]).each { |env, value| file << "ENV #{env}=#{value}" }
|
190
192
|
file.join("\n")
|
191
193
|
end
|
192
194
|
end
|
@@ -240,12 +240,13 @@ describe Kitchen::Driver::DockerCli, "docker_run_command" do
|
|
240
240
|
:volume => '/dev:/dev',
|
241
241
|
:link => 'mysql:db',
|
242
242
|
:memory_limit => '256m',
|
243
|
-
:cpu_shares => 512
|
243
|
+
:cpu_shares => 512,
|
244
|
+
:network => 'none'
|
244
245
|
}
|
245
246
|
end
|
246
247
|
|
247
248
|
example do
|
248
|
-
cmd = "run -d --name web -P -m 256m -c 512 --privileged -p 80:8080 -p 22:2222 -v /dev:/dev --link mysql:db test /bin/bash"
|
249
|
+
cmd = "run -d --name web -P -m 256m -c 512 --privileged --net none -p 80:8080 -p 22:2222 -v /dev:/dev --link mysql:db test /bin/bash"
|
249
250
|
expect(@docker_cli.docker_run_command('test')).to eq cmd
|
250
251
|
end
|
251
252
|
end
|
@@ -322,7 +323,8 @@ describe Kitchen::Driver::DockerCli, "docker_file" do
|
|
322
323
|
{
|
323
324
|
image: "ubuntu/12.04",
|
324
325
|
platform: "ubuntu",
|
325
|
-
run_command: ["test", "test2"]
|
326
|
+
run_command: ["test", "test2"],
|
327
|
+
environment: {"test" => "hoge"}
|
326
328
|
}
|
327
329
|
}
|
328
330
|
example do
|
@@ -330,7 +332,9 @@ describe Kitchen::Driver::DockerCli, "docker_file" do
|
|
330
332
|
ret = "FROM ubuntu/12.04\n"
|
331
333
|
ret << "RUN apt-get update\n"
|
332
334
|
ret << "RUN apt-get -y install sudo curl tar\n"
|
333
|
-
ret << "RUN test\
|
335
|
+
ret << "RUN test\n"
|
336
|
+
ret << "RUN test2\n"
|
337
|
+
ret << "ENV test=hoge"
|
334
338
|
expect(@docker_cli.send(:docker_file)).to eq ret
|
335
339
|
end
|
336
340
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-docker_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masashi Terui
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|