conjur-debify 0.0.1.pre.47 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +0 -4
- data/LICENSE.txt +1 -1
- data/README.md +15 -210
- data/Rakefile +7 -14
- data/debify.gemspec +9 -18
- data/example/Gemfile +0 -8
- data/example/Gemfile.lock +0 -24
- data/example/test.sh +0 -1
- data/features/debify.feature +15 -0
- data/features/step_definitions/debify_steps.rb +0 -23
- data/features/support/env.rb +12 -5
- data/jenkins.sh +6 -0
- data/lib/conjur/debify/Dockerfile.fpm +4 -0
- data/lib/conjur/debify/version.rb +2 -2
- data/lib/conjur/debify.rb +154 -681
- data/lib/conjur/fpm/Dockerfile +5 -19
- data/lib/conjur/fpm/debify_utils.sh +8 -28
- data/lib/conjur/fpm/package.sh +23 -79
- metadata +36 -152
- data/.dockerignore +0 -1
- data/.rvmrc +0 -60
- data/CHANGELOG.md +0 -246
- data/CONTRIBUTING.md +0 -16
- data/Dockerfile +0 -33
- data/Jenkinsfile +0 -116
- data/VERSION +0 -1
- data/build.sh +0 -4
- data/ci/test.sh +0 -8
- data/distrib/conjur_creds.rb +0 -7
- data/distrib/docker-debify +0 -50
- data/distrib/entrypoint.sh +0 -19
- data/distrib/script +0 -1
- data/distrib/secrets +0 -1
- data/distrib/secrets.yml +0 -2
- data/example/docker-compose.yml +0 -11
- data/example/net-test.sh +0 -7
- data/features/detect_version.feature +0 -7
- data/features/package.feature +0 -23
- data/features/sandbox.feature +0 -23
- data/features/support/hooks.rb +0 -29
- data/features/support/world.rb +0 -10
- data/features/test.feature +0 -24
- data/image-tags +0 -23
- data/lib/conjur/debify/action/publish.rb +0 -136
- data/lib/conjur/debify/utils.rb +0 -16
- data/lib/conjur/publish/Dockerfile +0 -5
- data/publish-rubygem.sh +0 -10
- data/push-image.sh +0 -6
- data/secrets.yml +0 -3
- data/spec/action/publish_spec.rb +0 -54
- data/spec/data/Makefile +0 -5
- data/spec/data/test.tar +0 -0
- data/spec/debify_utils_spec.rb +0 -55
- data/spec/spec_helper.rb +0 -1
- data/spec/utils_spec.rb +0 -22
- data/tag-image.sh +0 -6
- data/test.sh +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7d727bf95156d23c5fdcc395e95fc6308f459632
|
4
|
+
data.tar.gz: 5783389c1eb795cf8c6ee675ce2d2695867f795c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 536d4fe0a144a7b88f29fe9d8ac5c437bc934cd1a4db2b5cabbf030a6a54185b451e266b3a98bae203651bb9d27561ecb92d161690adc6477902dbe5a339fc51
|
7
|
+
data.tar.gz: 7b0c04adb847da5ab1ad69463ae5c8027059f9c765bf04896160d661e92b4f42e47fe16189e181e38c2d5a36520be9c25e67094e9c9edc9687e77512d7917d62
|
data/.gitignore
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,90 +1,5 @@
|
|
1
1
|
# Debify
|
2
2
|
|
3
|
-
Debify is a tool used for building and testing DAP appliance packages.
|
4
|
-
It is mainly used to package and publish debian packages that are consumed into the
|
5
|
-
appliance image in its build stage. However, it also packages and publishes an
|
6
|
-
RPM package whenever it does so for a debian.
|
7
|
-
|
8
|
-
## Installation
|
9
|
-
|
10
|
-
There are two different ways of installing debify: as a gem, or as a Docker image.
|
11
|
-
|
12
|
-
### Installing the gem
|
13
|
-
Add this line to your application's Gemfile:
|
14
|
-
|
15
|
-
```ruby
|
16
|
-
gem 'conjur-debify'
|
17
|
-
```
|
18
|
-
|
19
|
-
And then execute:
|
20
|
-
|
21
|
-
```sh-session
|
22
|
-
$ bundle
|
23
|
-
```
|
24
|
-
|
25
|
-
Or install it yourself as a ruby gem:
|
26
|
-
|
27
|
-
```sh-session
|
28
|
-
$ gem install conjur-debify
|
29
|
-
```
|
30
|
-
|
31
|
-
### Installing the Docker image
|
32
|
-
Pull the Docker image:
|
33
|
-
|
34
|
-
```sh-session
|
35
|
-
$ VERSION=3.0.0
|
36
|
-
$ docker pull registry.tld/conjurinc/debify:$VERSION
|
37
|
-
```
|
38
|
-
|
39
|
-
Images are tagged with the version specified in [VERSION](./VERSION)
|
40
|
-
|
41
|
-
Use the `config` subcommand to get a copy of the wrapper script and the secret definitions for publishing:
|
42
|
-
|
43
|
-
```sh-session
|
44
|
-
$ docker run --rm debify:$VERSION config script > docker-debify
|
45
|
-
$ chmod +x docker-debify
|
46
|
-
# Optionally, if publishing a deb
|
47
|
-
$ docker run --rm debify:$VERSION config secrets > publishing-secrets.yml
|
48
|
-
```
|
49
|
-
|
50
|
-
Running `docker-debify` will then start a container configured to run debify:
|
51
|
-
|
52
|
-
```sh-session
|
53
|
-
$ ./docker-debify help
|
54
|
-
NAME
|
55
|
-
debify - Utility commands for building and testing Conjur appliance Debian packages
|
56
|
-
|
57
|
-
SYNOPSIS
|
58
|
-
debify [global options] command [command options] [arguments...]
|
59
|
-
|
60
|
-
VERSION
|
61
|
-
3.0.0
|
62
|
-
|
63
|
-
|
64
|
-
GLOBAL OPTIONS
|
65
|
-
--env=arg - Set an environment variable (e.g. TERM=xterm) when starting a container (may be used more than once, default:
|
66
|
-
none)
|
67
|
-
--help - Show this message
|
68
|
-
--[no-]local-bundle - Mount local bundle to reuse gems from previous installation
|
69
|
-
--version - Display the program version
|
70
|
-
|
71
|
-
COMMANDS
|
72
|
-
clean - Clean current working directory of non-Git-managed files
|
73
|
-
config - Show the given configuration
|
74
|
-
detect-version - Auto-detect and print the repository version
|
75
|
-
help - Shows a list of commands or help for one command
|
76
|
-
initconfig - Initialize the config file using current global options
|
77
|
-
package - Build a debian package for a project
|
78
|
-
publish - Publish a debian package to apt repository
|
79
|
-
sandbox - Setup a development sandbox for a Conjur debian package in a Conjur appliance container
|
80
|
-
test - Test a Conjur debian package in a Conjur appliance container
|
81
|
-
```
|
82
|
-
|
83
|
-
|
84
|
-
Note that debify itself creates images and starts containers, so it
|
85
|
-
needs access to the host's `docker.sock`. Additionally, it requires
|
86
|
-
that it be started in root directory of the project being packaged.
|
87
|
-
|
88
3
|
## Build a package
|
89
4
|
|
90
5
|
Builds a Conjur Debian package from a Ruby gem.
|
@@ -96,7 +11,7 @@ NAME
|
|
96
11
|
|
97
12
|
SYNOPSIS
|
98
13
|
debify [global options] package [command options] project_name -- <fpm-arguments>
|
99
|
-
|
14
|
+
|
100
15
|
DESCRIPTION
|
101
16
|
The package is built using fpm (https://github.com/jordansissel/fpm).
|
102
17
|
|
@@ -114,7 +29,7 @@ DESCRIPTION
|
|
114
29
|
|
115
30
|
COMMAND OPTIONS
|
116
31
|
-d, --dir=arg - Set the current working directory (default: none)
|
117
|
-
-v, --version=arg - Specify the deb version; by default, it's
|
32
|
+
-v, --version=arg - Specify the deb version; by default, it's computed from the Git tag (default: none)
|
118
33
|
```
|
119
34
|
|
120
35
|
### Example usage
|
@@ -168,136 +83,26 @@ COMMAND OPTIONS
|
|
168
83
|
$ debify test -i conjur-appliance-cuke-master --image-tag 4.6-dev --no-pull -d example example test.sh
|
169
84
|
```
|
170
85
|
|
171
|
-
##
|
172
|
-
|
173
|
-
```
|
174
|
-
$ debify help publish
|
175
|
-
NAME
|
176
|
-
publish - Publish a debian package to apt repository
|
177
|
-
|
178
|
-
SYNOPSIS
|
179
|
-
debify [global options] publish [command options] distribution project-name
|
180
|
-
|
181
|
-
DESCRIPTION
|
182
|
-
Publishes a deb created with `debify package` to our private apt repository.
|
183
|
-
|
184
|
-
"distribution" should match the major/minor version of the Conjur appliance you want to install to.
|
185
|
-
|
186
|
-
The package name is a required option. The package version can be specified as a CLI option, or it will be auto-detected from Git.
|
187
|
-
|
188
|
-
--component should be 'stable' if run after package tests pass or 'testing' if the package is not yet ready for release. If you don't specify the component, it will be set to
|
189
|
-
'testing' unless the current git branch is 'master' or 'origin/master'. The git branch is first detected from the env var GIT_BRANCH, and then by checking `git rev-parse
|
190
|
-
--abbrev-ref HEAD` (which won't give you the answer you want when detached).
|
191
|
-
|
192
|
-
COMMAND OPTIONS
|
193
|
-
-c, --component=arg - Maturity stage of the package, 'testing' or 'stable' (default: none)
|
194
|
-
-d, --dir=arg - Set the current working directory (default: none)
|
195
|
-
-v, --version=arg - Specify the deb package version; by default, it's computed automatically (default: none)
|
196
|
-
```
|
197
|
-
|
198
|
-
### Example usage
|
199
|
-
|
200
|
-
You will need read permission for the `ci/artifactory/users/jenkins/username` and `ci/artifactory/users/jenkins/password` variables in order to run this command from your local machine.
|
201
|
-
|
202
|
-
```sh-session
|
203
|
-
$ debify publish -c stable 0.0.1 example
|
204
|
-
[Thread 0] Uploading artifact: https://conjurinc.artifactoryonline.com/conjurinc/debian-local/conjur-example_0.1.1-c9fd618_amd64.deb;deb.distribution=0.1.1;deb.component=possum;deb.architecture=amd64
|
205
|
-
[Thread 0] Artifactory response: 201 Created
|
206
|
-
Uploaded 1 artifacts to Artifactory.
|
207
|
-
```
|
208
|
-
|
209
|
-
## Create a development session in a Conjur appliance container
|
210
|
-
|
211
|
-
|
212
|
-
```
|
213
|
-
$ debify help sandbox
|
214
|
-
NAME
|
215
|
-
sandbox - Setup a development sandbox for a Conjur debian package in a Conjur appliance container
|
216
|
-
|
217
|
-
SYNOPSIS
|
218
|
-
debify [global options] sandbox [command options]
|
219
|
-
|
220
|
-
DESCRIPTION
|
221
|
-
First, a Conjur appliance container is created and started. By default, the container image is
|
222
|
-
registry.tld/conjur-appliance-cuke-master. An image tag MUST be supplied. This image
|
223
|
-
is configured with all the CONJUR_ environment variables setup for the local environment (appliance URL,
|
224
|
-
cert path, admin username and password, etc). The project source tree is
|
225
|
-
also mounted into the container, at /src/<project-name>, where <project-name> is taken from the name of the
|
226
|
-
current working directory.
|
227
|
-
|
228
|
-
Once in the container, use "/opt/conjur/evoke/bin/dev-install" to install the development bundle of your project.
|
229
|
-
|
230
|
-
COMMAND OPTIONS
|
231
|
-
--bind=arg - Bind another source directory into the container. Use <src>:<dest>, where both are full paths. (default: none)
|
232
|
-
-d, --dir=arg - Set the current working directory (default: none)
|
233
|
-
-i, --image=arg - Image name (default: registry.tld/conjur-appliance-cuke-master)
|
234
|
-
--[no-]pull - 'docker pull' the Conjur container image
|
235
|
-
-t, --image-tag=arg - Image tag, e.g. 4.5-stable, 4.6-stable (default: none)
|
236
|
-
```
|
237
|
-
|
238
|
-
### Example usage
|
239
|
-
|
240
|
-
```sh-session
|
241
|
-
authz $ debify sandbox -t $(cat VERSION_APPLIANCE)-stable
|
242
|
-
... much logging
|
243
|
-
authz $ docker exec -it authz-sandbox bash
|
244
|
-
root@7d4217655332:/src/authz# /opt/conjur/evoke/bin/dev-install authz
|
245
|
-
...
|
246
|
-
root@7d4217655332:/src/authz# export RAILS_ENV=test
|
247
|
-
root@7d4217655332:/src/authz# bundle exec rake db:migrate
|
248
|
-
```
|
249
|
-
|
250
|
-
## Usage with docker-compose
|
251
|
-
|
252
|
-
As of v1.10.0, both the `test` and `sandbox` subcommands support the `--net` switch. This allows you to specify a network to which the Conjur appliance container should be attached.
|
253
|
-
|
254
|
-
There are a variety of ways to make use of this feature. One
|
255
|
-
possiblity is creating a network using `docker network create`, then
|
256
|
-
attaching both the docker-compose services, as well as the Conjur
|
257
|
-
appliance container created by debify, to it.
|
258
|
-
|
259
|
-
As a (somewhat contrived) example, create a new docker network:
|
260
|
-
|
261
|
-
```sh-session
|
262
|
-
$ docker network create testnet
|
263
|
-
```
|
264
|
-
|
265
|
-
Use a docker-compose file like [example/docker-compose.yml](example/docker-compose.yml)
|
266
|
-
|
267
|
-
```yaml
|
268
|
-
version: "2"
|
269
|
-
networks:
|
270
|
-
svcnet:
|
271
|
-
external:
|
272
|
-
name: testnet
|
273
|
-
services:
|
274
|
-
db:
|
275
|
-
image: postgres
|
276
|
-
container_name: mydb
|
277
|
-
networks:
|
278
|
-
- svcnet
|
279
|
-
```
|
86
|
+
## Installation
|
280
87
|
|
281
|
-
|
88
|
+
Add this line to your application's Gemfile:
|
282
89
|
|
283
|
-
```
|
284
|
-
debify
|
285
|
-
example $ docker-compose up -d
|
90
|
+
```ruby
|
91
|
+
gem 'debify'
|
286
92
|
```
|
287
93
|
|
288
|
-
|
94
|
+
And then execute:
|
289
95
|
|
290
|
-
|
96
|
+
$ bundle
|
291
97
|
|
292
|
-
|
293
|
-
example $ docker exec -it example-sandbox /bin/bash
|
294
|
-
root@7d4217655332:/src/example# getent hosts mydb
|
295
|
-
172.19.0.2 mydb
|
296
|
-
```
|
98
|
+
Or install it yourself as:
|
297
99
|
|
100
|
+
$ gem install debify
|
298
101
|
|
299
102
|
## Contributing
|
300
103
|
|
301
|
-
|
302
|
-
|
303
|
-
|
104
|
+
1. Fork it ( https://github.com/[my-github-username]/debify/fork )
|
105
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
106
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
107
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
108
|
+
5. Create a new Pull Request
|
data/Rakefile
CHANGED
@@ -10,11 +10,6 @@ rescue LoadError
|
|
10
10
|
false
|
11
11
|
end
|
12
12
|
|
13
|
-
def rspec?
|
14
|
-
require 'rspec/core/rake_task'
|
15
|
-
require 'ci/reporter/rake/rspec'
|
16
|
-
end
|
17
|
-
|
18
13
|
Rake::RDocTask.new do |rd|
|
19
14
|
rd.main = "README.rdoc"
|
20
15
|
rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
|
@@ -27,20 +22,22 @@ Gem::PackageTask.new(spec) do |pkg|
|
|
27
22
|
end
|
28
23
|
|
29
24
|
if cucumber?
|
30
|
-
CUKE_RESULTS = '
|
25
|
+
CUKE_RESULTS = 'results.html'
|
26
|
+
CLEAN << CUKE_RESULTS
|
31
27
|
|
32
28
|
desc 'Run features'
|
33
29
|
Cucumber::Rake::Task.new(:features) do |t|
|
34
|
-
opts = "features --format
|
30
|
+
opts = "features --format html -o #{CUKE_RESULTS} --format progress -x"
|
35
31
|
opts += " --tags #{ENV['TAGS']}" if ENV['TAGS']
|
36
|
-
t.cucumber_opts =
|
32
|
+
t.cucumber_opts = opts
|
37
33
|
t.fork = false
|
38
34
|
end
|
39
35
|
|
40
36
|
desc 'Run features tagged as work-in-progress (@wip)'
|
41
37
|
Cucumber::Rake::Task.new('features:wip') do |t|
|
38
|
+
tag_opts = ' --tags ~@pending'
|
42
39
|
tag_opts = ' --tags @wip'
|
43
|
-
t.cucumber_opts = "features --format
|
40
|
+
t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty -x -s#{tag_opts}"
|
44
41
|
t.fork = false
|
45
42
|
end
|
46
43
|
|
@@ -49,8 +46,4 @@ if cucumber?
|
|
49
46
|
task :wip => 'features:wip'
|
50
47
|
end
|
51
48
|
|
52
|
-
|
53
|
-
desc 'Run specs'
|
54
|
-
RSpec::Core::RakeTask.new(:spec)
|
55
|
-
task :spec => 'ci:setup:rspec'
|
56
|
-
end
|
49
|
+
task :default => [:features]
|
data/debify.gemspec
CHANGED
@@ -6,31 +6,22 @@ require 'conjur/debify/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "conjur-debify"
|
8
8
|
spec.version = Conjur::Debify::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["Kevin Gilpin"]
|
10
|
+
spec.email = ["kgilpin@conjur.net"]
|
11
11
|
spec.summary = %q{Utility commands to build and package Conjur services as Debian packages}
|
12
12
|
spec.homepage = "https://github.com/conjurinc/debify"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
|
-
spec.files = `git ls-files -z`.split("\x0")
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
16
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_dependency "gli"
|
21
|
-
spec.add_dependency "docker-api"
|
22
|
-
|
23
|
-
spec.
|
24
|
-
spec.add_development_dependency "
|
25
|
-
spec.add_development_dependency "
|
26
|
-
spec.add_development_dependency "
|
27
|
-
|
28
|
-
# Pin to cucumbe v2. cucumber v3 changes (breaks) the behavior of
|
29
|
-
# unmatched capture groups with \(d+). In v3, the value of such a
|
30
|
-
# group is 0 instead of nil, which breaks aruba's "I successfully
|
31
|
-
# run...." steps.
|
32
|
-
spec.add_development_dependency "cucumber", '~> 7.1'
|
33
|
-
spec.add_development_dependency "aruba", "~> 2.0"
|
34
|
-
spec.add_development_dependency 'rspec', '~> 3.10'
|
35
|
-
spec.add_development_dependency 'ci_reporter_rspec', '~> 1.0'
|
21
|
+
spec.add_dependency "docker-api"
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
24
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "cucumber"
|
26
|
+
spec.add_development_dependency "aruba"
|
36
27
|
end
|
data/example/Gemfile
CHANGED
data/example/Gemfile.lock
CHANGED
@@ -1,32 +1,8 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
coderay (1.1.2)
|
5
|
-
diff-lcs (1.3)
|
6
|
-
method_source (0.9.0)
|
7
|
-
pry (0.11.3)
|
8
|
-
coderay (~> 1.1.0)
|
9
|
-
method_source (~> 0.9.0)
|
10
|
-
rspec (3.7.0)
|
11
|
-
rspec-core (~> 3.7.0)
|
12
|
-
rspec-expectations (~> 3.7.0)
|
13
|
-
rspec-mocks (~> 3.7.0)
|
14
|
-
rspec-core (3.7.1)
|
15
|
-
rspec-support (~> 3.7.0)
|
16
|
-
rspec-expectations (3.7.0)
|
17
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
18
|
-
rspec-support (~> 3.7.0)
|
19
|
-
rspec-mocks (3.7.0)
|
20
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
21
|
-
rspec-support (~> 3.7.0)
|
22
|
-
rspec-support (3.7.1)
|
23
4
|
|
24
5
|
PLATFORMS
|
25
6
|
ruby
|
26
7
|
|
27
8
|
DEPENDENCIES
|
28
|
-
pry
|
29
|
-
rspec
|
30
|
-
|
31
|
-
BUNDLED WITH
|
32
|
-
2.1.4
|
data/example/test.sh
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
Feature: Packaging
|
2
|
+
|
3
|
+
@announce-output
|
4
|
+
Scenario: 'example' project can be packaged successfully
|
5
|
+
When I run `env DEBUG=true GLI_DEBUG=true debify package -d ../../example -v 0.0.1 example -- --post-install /distrib/postinstall.sh`
|
6
|
+
Then the exit status should be 0
|
7
|
+
And the stdout should contain exactly "conjur-example_0.0.1_amd64.deb"
|
8
|
+
|
9
|
+
@announce-output
|
10
|
+
Scenario: 'example' project can be tested successfully
|
11
|
+
Given I run `env DEBUG=true GLI_DEBUG=true debify package -d ../../example -v 0.0.1 example -- --post-install /distrib/postinstall.sh`
|
12
|
+
And the exit status should be 0
|
13
|
+
When I run `env DEBUG=true GLI_DEBUG=true debify test -t 4.6-stable -d ../../example --no-pull example test.sh`
|
14
|
+
Then the exit status should be 0
|
15
|
+
And the stderr should contain "Test succeeded"
|
@@ -1,29 +1,6 @@
|
|
1
|
-
|
2
1
|
When /^I get help for "([^"]*)"$/ do |app_name|
|
3
2
|
@app_name = app_name
|
4
3
|
step %(I run `#{app_name} help`)
|
5
4
|
end
|
6
5
|
|
7
6
|
# Add more step definitions here
|
8
|
-
|
9
|
-
When /^I start a container named "(.*?)"(?: on network "(.*?)")*$/ do |name, net_name|
|
10
|
-
if net_name
|
11
|
-
network = Docker::Network.create(net_name)
|
12
|
-
networks << network
|
13
|
-
end
|
14
|
-
|
15
|
-
options = {
|
16
|
-
'name' => name,
|
17
|
-
'Image' => 'nginx'
|
18
|
-
}
|
19
|
-
options['HostConfig'] = { 'NetworkMode' => net_name } if net_name
|
20
|
-
|
21
|
-
container = Docker::Container.create(options)
|
22
|
-
container.start!
|
23
|
-
containers << container
|
24
|
-
end
|
25
|
-
|
26
|
-
When /^I successfully start a sandbox for "(.*?)" with arguments "(.*?)"$/ do |project, args|
|
27
|
-
step %Q{I successfully run `env DEBUG=true GLI_DEBUG=true debify sandbox -d ../../#{project} #{args}`}
|
28
|
-
containers << Docker::Container.get("#{project}-sandbox")
|
29
|
-
end
|
data/features/support/env.rb
CHANGED
@@ -1,12 +1,19 @@
|
|
1
1
|
require 'aruba/cucumber'
|
2
|
-
require 'docker-api'
|
3
2
|
|
4
3
|
ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
|
5
4
|
LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
|
6
5
|
|
7
6
|
Aruba.configure do |config|
|
8
|
-
config.exit_timeout =
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
config.exit_timeout = 120
|
8
|
+
end
|
9
|
+
|
10
|
+
Before do
|
11
|
+
# Using "announce" causes massive warnings on 1.9.2
|
12
|
+
@puts = true
|
13
|
+
@original_rubylib = ENV['RUBYLIB']
|
14
|
+
ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
|
15
|
+
end
|
16
|
+
|
17
|
+
After do
|
18
|
+
ENV['RUBYLIB'] = @original_rubylib
|
12
19
|
end
|
data/jenkins.sh
ADDED