kitchen-docker_cli 0.5.0 → 0.6.0
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/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
|