dpl 2.0.0.beta.3 → 2.0.2.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +77 -69
- data/README.md +64 -18
- data/lib/dpl/providers.rb +1 -0
- data/lib/dpl/providers/cloudfoundry.rb +3 -1
- data/lib/dpl/providers/codedeploy.rb +6 -1
- data/lib/dpl/providers/ecr.rb +127 -0
- data/lib/dpl/version.rb +1 -1
- metadata +4 -7
- data/NOTES.md +0 -78
- data/dpl.gemspec +0 -22
- data/status.json +0 -237
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 127fc473613182a3add84607059a5777f8633d040caec51221a7254b54929f5f
|
4
|
+
data.tar.gz: 7e2c0c5289b78f4512f38a96faf80f10a0b202b5a61f9baa5b4e344f9548bf0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a5c62bc3fc3e01a49b8181970d9b6e587ac596ec88e7d5f228f86578979be5cb6377261d1e323ed1b029744cc2ab805847ddf8a899a625ddd849d1678e4ea47
|
7
|
+
data.tar.gz: 10d95dd4a423d3ad94006f0e233cc37dcbff15ca2d27f9827f5c52223e9cdfb4b008f5672dbfa755b047fcdad40bd6d3133ff483536e518c642ac5a4c66c8a66
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dpl (2.0.0.beta.
|
4
|
+
dpl (2.0.0.beta.3)
|
5
5
|
cl (~> 1.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -10,37 +10,40 @@ GEM
|
|
10
10
|
addressable (2.7.0)
|
11
11
|
public_suffix (>= 2.0.2, < 5.0)
|
12
12
|
awesome_print (1.8.0)
|
13
|
-
aws-eventstream (1.0
|
14
|
-
aws-partitions (1.
|
15
|
-
aws-sdk-cloudformation (1.
|
16
|
-
aws-sdk-core (~> 3, >= 3.
|
13
|
+
aws-eventstream (1.1.0)
|
14
|
+
aws-partitions (1.365.0)
|
15
|
+
aws-sdk-cloudformation (1.42.0)
|
16
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
17
17
|
aws-sigv4 (~> 1.1)
|
18
|
-
aws-sdk-codedeploy (1.
|
19
|
-
aws-sdk-core (~> 3, >= 3.
|
18
|
+
aws-sdk-codedeploy (1.35.0)
|
19
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
20
20
|
aws-sigv4 (~> 1.1)
|
21
|
-
aws-sdk-core (3.
|
22
|
-
aws-eventstream (~> 1
|
21
|
+
aws-sdk-core (3.105.0)
|
22
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
23
23
|
aws-partitions (~> 1, >= 1.239.0)
|
24
24
|
aws-sigv4 (~> 1.1)
|
25
25
|
jmespath (~> 1.0)
|
26
|
-
aws-sdk-
|
27
|
-
aws-sdk-core (~> 3, >= 3.
|
26
|
+
aws-sdk-ecr (1.37.0)
|
27
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
28
28
|
aws-sigv4 (~> 1.1)
|
29
|
-
aws-sdk-
|
30
|
-
aws-sdk-core (~> 3, >= 3.
|
29
|
+
aws-sdk-elasticbeanstalk (1.36.0)
|
30
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
31
31
|
aws-sigv4 (~> 1.1)
|
32
|
-
aws-sdk-
|
33
|
-
aws-sdk-core (~> 3, >= 3.
|
32
|
+
aws-sdk-kms (1.37.0)
|
33
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
34
34
|
aws-sigv4 (~> 1.1)
|
35
|
-
aws-sdk-
|
36
|
-
aws-sdk-core (~> 3, >= 3.
|
35
|
+
aws-sdk-lambda (1.49.0)
|
36
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
37
37
|
aws-sigv4 (~> 1.1)
|
38
|
-
aws-sdk-
|
39
|
-
aws-sdk-core (~> 3, >= 3.
|
38
|
+
aws-sdk-opsworks (1.28.0)
|
39
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
40
|
+
aws-sigv4 (~> 1.1)
|
41
|
+
aws-sdk-s3 (1.79.1)
|
42
|
+
aws-sdk-core (~> 3, >= 3.104.3)
|
40
43
|
aws-sdk-kms (~> 1)
|
41
44
|
aws-sigv4 (~> 1.1)
|
42
|
-
aws-sigv4 (1.
|
43
|
-
aws-eventstream (~> 1
|
45
|
+
aws-sigv4 (1.2.2)
|
46
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
44
47
|
belafonte (0.5.0)
|
45
48
|
optionally
|
46
49
|
wrapomatic (~> 0.3)
|
@@ -88,7 +91,7 @@ GEM
|
|
88
91
|
cistern (0.12.3)
|
89
92
|
cl (1.2.4)
|
90
93
|
regstry (~> 1.0.3)
|
91
|
-
coderay (1.1.
|
94
|
+
coderay (1.1.3)
|
92
95
|
colorize (0.8.1)
|
93
96
|
cookiejar (0.3.3)
|
94
97
|
coveralls (0.8.23)
|
@@ -99,11 +102,11 @@ GEM
|
|
99
102
|
tins (~> 1.6)
|
100
103
|
crack (0.4.3)
|
101
104
|
safe_yaml (~> 1.0.0)
|
102
|
-
diff-lcs (1.
|
105
|
+
diff-lcs (1.4.4)
|
103
106
|
docile (1.3.2)
|
104
107
|
domain_name (0.5.20190701)
|
105
108
|
unf (>= 0.0.5, < 1.0.0)
|
106
|
-
em-http-request (1.1.
|
109
|
+
em-http-request (1.1.7)
|
107
110
|
addressable (>= 2.3.4)
|
108
111
|
cookiejar (!= 0.3.1)
|
109
112
|
em-socksify (>= 0.3)
|
@@ -114,7 +117,7 @@ GEM
|
|
114
117
|
erubis (2.7.0)
|
115
118
|
escape (0.0.4)
|
116
119
|
eventmachine (1.2.7)
|
117
|
-
excon (0.
|
120
|
+
excon (0.76.0)
|
118
121
|
ey-core (3.5.0)
|
119
122
|
addressable
|
120
123
|
awesome_print
|
@@ -142,19 +145,19 @@ GEM
|
|
142
145
|
faraday_middleware (0.14.0)
|
143
146
|
faraday (>= 0.7.4, < 1.0)
|
144
147
|
fast_gettext (1.1.2)
|
145
|
-
faye (1.
|
148
|
+
faye (1.4.0)
|
146
149
|
cookiejar (>= 0.3.0)
|
147
|
-
em-http-request (>=
|
150
|
+
em-http-request (>= 1.1.6)
|
148
151
|
eventmachine (>= 0.12.0)
|
149
|
-
faye-websocket (>= 0.
|
152
|
+
faye-websocket (>= 0.11.0)
|
150
153
|
multi_json (>= 1.0.0)
|
151
154
|
rack (>= 1.0.0)
|
152
155
|
websocket-driver (>= 0.5.1)
|
153
|
-
faye-websocket (0.
|
156
|
+
faye-websocket (0.11.0)
|
154
157
|
eventmachine (>= 0.12.0)
|
155
158
|
websocket-driver (>= 0.5.1)
|
156
|
-
ffi (1.
|
157
|
-
ffi-yajl (2.3.
|
159
|
+
ffi (1.13.1)
|
160
|
+
ffi-yajl (2.3.4)
|
158
161
|
libyajl2 (~> 1.2)
|
159
162
|
fog-core (2.1.0)
|
160
163
|
builder
|
@@ -176,28 +179,29 @@ GEM
|
|
176
179
|
fuzzyurl (0.9.0)
|
177
180
|
gems (1.1.1)
|
178
181
|
json
|
179
|
-
gleis (0.
|
180
|
-
rest-client (~> 2.
|
182
|
+
gleis (0.8.0)
|
183
|
+
rest-client (~> 2.1.0)
|
181
184
|
thor (~> 0.20.0)
|
182
|
-
hashdiff (1.0.
|
185
|
+
hashdiff (1.0.1)
|
183
186
|
hashie (3.6.0)
|
184
187
|
hiera (3.6.0)
|
185
188
|
highline (1.7.10)
|
189
|
+
http-accept (1.7.0)
|
186
190
|
http-cookie (1.0.3)
|
187
191
|
domain_name (~> 0.5)
|
188
192
|
http_parser.rb (0.6.0)
|
189
|
-
iniparse (1.
|
193
|
+
iniparse (1.5.0)
|
190
194
|
ipaddress (0.8.3)
|
191
195
|
jmespath (1.4.0)
|
192
196
|
json (1.8.6)
|
193
197
|
json_pure (1.8.6)
|
194
198
|
libyajl2 (1.2.0)
|
195
199
|
locale (2.1.3)
|
196
|
-
method_source (0.
|
200
|
+
method_source (1.0.0)
|
197
201
|
mime (0.4.4)
|
198
202
|
mime-types (3.2.2)
|
199
203
|
mime-types-data (~> 3.2015)
|
200
|
-
mime-types-data (3.
|
204
|
+
mime-types-data (3.2020.0512)
|
201
205
|
mini_portile2 (2.4.0)
|
202
206
|
mixlib-archive (0.4.20)
|
203
207
|
mixlib-log
|
@@ -207,10 +211,10 @@ GEM
|
|
207
211
|
tomlrb
|
208
212
|
mixlib-log (1.7.1)
|
209
213
|
mixlib-shellout (2.4.4)
|
210
|
-
multi_json (1.
|
214
|
+
multi_json (1.15.0)
|
211
215
|
multipart-post (2.0.0)
|
212
|
-
net-scp (
|
213
|
-
net-ssh (>= 2.6.5, <
|
216
|
+
net-scp (3.0.0)
|
217
|
+
net-ssh (>= 2.6.5, < 7.0.0)
|
214
218
|
net-sftp (2.1.2)
|
215
219
|
net-ssh (>= 2.6.5)
|
216
220
|
net-ssh (4.2.0)
|
@@ -238,7 +242,7 @@ GEM
|
|
238
242
|
plist (~> 3.1)
|
239
243
|
systemu (~> 2.6.4)
|
240
244
|
wmi-lite (~> 1.0)
|
241
|
-
oj (3.10.
|
245
|
+
oj (3.10.14)
|
242
246
|
oj_mimic_json (1.0.1)
|
243
247
|
optionally (0.0.3)
|
244
248
|
packagecloud-ruby (1.0.8)
|
@@ -249,11 +253,11 @@ GEM
|
|
249
253
|
pathspec (0.2.1)
|
250
254
|
plist (3.5.0)
|
251
255
|
proxifier (1.0.3)
|
252
|
-
pry (0.
|
253
|
-
coderay (~> 1.1
|
254
|
-
method_source (~>
|
256
|
+
pry (0.13.1)
|
257
|
+
coderay (~> 1.1)
|
258
|
+
method_source (~> 1.0)
|
255
259
|
public_suffix (3.0.3)
|
256
|
-
puppet (5.5.
|
260
|
+
puppet (5.5.21)
|
257
261
|
facter (> 2.0.1, < 4)
|
258
262
|
fast_gettext (~> 1.1.2)
|
259
263
|
hiera (>= 3.2.1, < 4)
|
@@ -262,30 +266,31 @@ GEM
|
|
262
266
|
puppet-blacksmith (3.3.1)
|
263
267
|
puppet (>= 2.7.16)
|
264
268
|
rest-client
|
265
|
-
rack (2.2.
|
269
|
+
rack (2.2.3)
|
266
270
|
rake (12.3.3)
|
267
271
|
regstry (1.0.15)
|
268
272
|
rendezvous (0.1.3)
|
269
|
-
rest-client (2.0
|
273
|
+
rest-client (2.1.0)
|
274
|
+
http-accept (>= 1.7.0, < 2.0)
|
270
275
|
http-cookie (>= 1.0.2, < 2.0)
|
271
276
|
mime-types (>= 1.16, < 4.0)
|
272
277
|
netrc (~> 0.8)
|
273
|
-
rspec (3.
|
274
|
-
rspec-core (~> 3.
|
275
|
-
rspec-expectations (~> 3.
|
276
|
-
rspec-mocks (~> 3.
|
277
|
-
rspec-core (3.
|
278
|
-
rspec-support (~> 3.
|
279
|
-
rspec-expectations (3.
|
278
|
+
rspec (3.9.0)
|
279
|
+
rspec-core (~> 3.9.0)
|
280
|
+
rspec-expectations (~> 3.9.0)
|
281
|
+
rspec-mocks (~> 3.9.0)
|
282
|
+
rspec-core (3.9.2)
|
283
|
+
rspec-support (~> 3.9.3)
|
284
|
+
rspec-expectations (3.9.2)
|
280
285
|
diff-lcs (>= 1.2.0, < 2.0)
|
281
|
-
rspec-support (~> 3.
|
286
|
+
rspec-support (~> 3.9.0)
|
282
287
|
rspec-its (1.3.0)
|
283
288
|
rspec-core (>= 3.0.0)
|
284
289
|
rspec-expectations (>= 3.0.0)
|
285
|
-
rspec-mocks (3.
|
290
|
+
rspec-mocks (3.9.1)
|
286
291
|
diff-lcs (>= 1.2.0, < 2.0)
|
287
|
-
rspec-support (~> 3.
|
288
|
-
rspec-support (3.
|
292
|
+
rspec-support (~> 3.9.0)
|
293
|
+
rspec-support (3.9.3)
|
289
294
|
rspec_junit_formatter (0.2.3)
|
290
295
|
builder (< 4)
|
291
296
|
rspec-core (>= 2, < 4, != 2.12.0)
|
@@ -305,31 +310,33 @@ GEM
|
|
305
310
|
json (>= 1.8, < 3)
|
306
311
|
simplecov-html (~> 0.10.0)
|
307
312
|
simplecov-html (0.10.2)
|
308
|
-
specinfra (2.82.
|
313
|
+
specinfra (2.82.19)
|
309
314
|
net-scp
|
310
315
|
net-ssh (>= 2.7)
|
311
316
|
net-telnet (= 0.1.1)
|
312
317
|
sfl
|
313
318
|
sshkey (1.9.0)
|
319
|
+
sync (0.5.0)
|
314
320
|
syslog-logger (1.6.8)
|
315
321
|
systemu (2.6.5)
|
316
|
-
table_print (1.5.
|
322
|
+
table_print (1.5.7)
|
317
323
|
term-ansicolor (1.7.1)
|
318
324
|
tins (~> 1.0)
|
319
325
|
thor (0.20.3)
|
320
|
-
tins (1.
|
321
|
-
|
326
|
+
tins (1.25.0)
|
327
|
+
sync
|
328
|
+
tomlrb (1.3.0)
|
322
329
|
unf (0.1.4)
|
323
330
|
unf_ext
|
324
|
-
unf_ext (0.0.7.
|
331
|
+
unf_ext (0.0.7.7)
|
325
332
|
uuidtools (2.1.5)
|
326
|
-
webmock (3.8.
|
333
|
+
webmock (3.8.3)
|
327
334
|
addressable (>= 2.3.6)
|
328
335
|
crack (>= 0.3.2)
|
329
336
|
hashdiff (>= 0.4.0, < 2.0.0)
|
330
|
-
websocket-driver (0.7.
|
337
|
+
websocket-driver (0.7.3)
|
331
338
|
websocket-extensions (>= 0.1.0)
|
332
|
-
websocket-extensions (0.1.
|
339
|
+
websocket-extensions (0.1.5)
|
333
340
|
wmi-lite (1.0.5)
|
334
341
|
wrapomatic (0.3.0)
|
335
342
|
|
@@ -339,6 +346,7 @@ PLATFORMS
|
|
339
346
|
DEPENDENCIES
|
340
347
|
aws-sdk-cloudformation (~> 1.0)
|
341
348
|
aws-sdk-codedeploy (~> 1.0)
|
349
|
+
aws-sdk-ecr (~> 1.0)
|
342
350
|
aws-sdk-elasticbeanstalk (~> 1.0)
|
343
351
|
aws-sdk-lambda (~> 1.0)
|
344
352
|
aws-sdk-opsworks (~> 1.0)
|
@@ -351,7 +359,7 @@ DEPENDENCIES
|
|
351
359
|
fog-core (= 2.1.0)
|
352
360
|
fog-rackspace (~> 0.1.6)
|
353
361
|
gems (~> 1.1.1)
|
354
|
-
gleis (~> 0.
|
362
|
+
gleis (~> 0.8.0)
|
355
363
|
json
|
356
364
|
mime-types (~> 3.2.2)
|
357
365
|
multipart-post (~> 2.0.0)
|
@@ -371,7 +379,7 @@ DEPENDENCIES
|
|
371
379
|
webmock
|
372
380
|
|
373
381
|
RUBY VERSION
|
374
|
-
ruby 2.4.
|
382
|
+
ruby 2.4.9p362
|
375
383
|
|
376
384
|
BUNDLED WITH
|
377
|
-
2.
|
385
|
+
2.1.4
|
data/README.md
CHANGED
@@ -98,6 +98,7 @@ Dpl supports the following providers:
|
|
98
98
|
* [Anynines](#anynines)
|
99
99
|
* [AWS CloudFormation](#aws-cloudformation)
|
100
100
|
* [AWS Code Deploy](#aws-code-deploy)
|
101
|
+
* [AWS ECR](#aws-ecr)
|
101
102
|
* [AWS Elastic Beanstalk](#aws-elastic-beanstalk)
|
102
103
|
* [AWS Lambda](#aws-lambda)
|
103
104
|
* [AWS OpsWorks](#aws-opsworks)
|
@@ -299,6 +300,49 @@ The following variable are availabe for interpolation on `description`:
|
|
299
300
|
`application`, `bucket`, `bundle_type`, `commit_id`, `deployment_group`, `endpoint`, `file_exists_behavior`, `git_author_email`, `git_author_name`, `git_branch`, `git_commit_author`, `git_commit_msg`, `git_sha`, `git_tag`, `key`, `region`, `repository`, `revision_type`, `build_number`
|
300
301
|
|
301
302
|
|
303
|
+
### AWS ECR
|
304
|
+
|
305
|
+
Support for deployments to AWS ECR is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
|
306
|
+
|
307
|
+
```
|
308
|
+
Usage: dpl ecr [options]
|
309
|
+
|
310
|
+
Summary:
|
311
|
+
|
312
|
+
AWS ECR deployment provider
|
313
|
+
|
314
|
+
Description:
|
315
|
+
|
316
|
+
tbd
|
317
|
+
|
318
|
+
Options:
|
319
|
+
|
320
|
+
--access_key_id ID AWS access key (type: string, required)
|
321
|
+
--secret_access_key KEY AWS secret access key (type: string, required)
|
322
|
+
--account_id ID AWS Account ID (type: string, note: Required if the repository is owned by a
|
323
|
+
different account than the IAM user)
|
324
|
+
--source SOURCE Image to push (type: string, required, note: can be the id or the name and
|
325
|
+
optional tag (e.g. mysql:5.6))
|
326
|
+
--target TARGET Comma separated list of partial repository names to push to (type: string,
|
327
|
+
required)
|
328
|
+
--region REGION Comma separated list of regions to push to (type: string, default: us-east-1)
|
329
|
+
|
330
|
+
Common Options:
|
331
|
+
|
332
|
+
--cleanup Clean up build artifacts from the Git working directory before the deployment
|
333
|
+
--run CMD Commands to execute after the deployment finished successfully (type: array
|
334
|
+
(string, can be given multiple times))
|
335
|
+
--help Get help on this command
|
336
|
+
|
337
|
+
Examples:
|
338
|
+
|
339
|
+
dpl ecr --access_key_id id --secret_access_key key --source source --target target
|
340
|
+
dpl ecr --access_key_id id --secret_access_key key --source source --target target --account_id id
|
341
|
+
```
|
342
|
+
|
343
|
+
Options can be given via env vars if prefixed with `AWS_`. E.g. the option `--access_key_id` can be
|
344
|
+
given as `AWS_ACCESS_KEY_ID=<access_key_id>`.
|
345
|
+
|
302
346
|
### AWS Elastic Beanstalk
|
303
347
|
|
304
348
|
|
@@ -396,9 +440,10 @@ Options:
|
|
396
440
|
--environment VARS List of Environment Variables to add to the function (type: array (string, can
|
397
441
|
be given multiple times), alias: environment_variables, format: /[\w\-]+=.+/,
|
398
442
|
note: Can be encrypted for added security)
|
399
|
-
--runtime NAME Lambda runtime to use (type: string, default:
|
400
|
-
|
401
|
-
ruby2.5, note: required when creating a new
|
443
|
+
--runtime NAME Lambda runtime to use (type: string, default: nodejs10.x, known values:
|
444
|
+
nodejs12.x, nodejs10.x, python3.8, python3.7, python3.6, python2.7, ruby2.7,
|
445
|
+
ruby2.5, java11, java8, go1.x, dotnetcore2.1, note: required when creating a new
|
446
|
+
function)
|
402
447
|
--dead_letter_arn ARN ARN to an SNS or SQS resource used for the dead letter queue. (type: string)
|
403
448
|
--kms_key_arn ARN KMS key ARN to use to encrypt environment_variables. (type: string)
|
404
449
|
--tracing_mode MODE Tracing mode (type: string, default: PassThrough, known values: Active,
|
@@ -847,23 +892,24 @@ Description:
|
|
847
892
|
|
848
893
|
Options:
|
849
894
|
|
850
|
-
--username USER
|
851
|
-
--password PASS
|
852
|
-
--organization ORG
|
853
|
-
--space SPACE
|
854
|
-
--api URL
|
855
|
-
--app_name APP
|
856
|
-
--buildpack PACK
|
857
|
-
--manifest FILE
|
858
|
-
--[no-]skip_ssl_validation
|
859
|
-
--
|
895
|
+
--username USER Cloud Foundry username (type: string, required)
|
896
|
+
--password PASS Cloud Foundry password (type: string, required)
|
897
|
+
--organization ORG Cloud Foundry organization (type: string, required)
|
898
|
+
--space SPACE Cloud Foundry space (type: string, required)
|
899
|
+
--api URL Cloud Foundry api URL (type: string, default: https://api.run.pivotal.io)
|
900
|
+
--app_name APP Application name (type: string)
|
901
|
+
--buildpack PACK Buildpack name or Git URL (type: string)
|
902
|
+
--manifest FILE Path to the manifest (type: string)
|
903
|
+
--[no-]skip_ssl_validation Skip SSL validation
|
904
|
+
--deployment_strategy STRATEGY Deployment strategy, either rolling or null (type: string)
|
905
|
+
--[no-]v3 Use the v3 API version to push the application
|
860
906
|
|
861
907
|
Common Options:
|
862
908
|
|
863
|
-
--cleanup
|
864
|
-
--run CMD
|
865
|
-
|
866
|
-
--help
|
909
|
+
--cleanup Clean up build artifacts from the Git working directory before the deployment
|
910
|
+
--run CMD Commands to execute after the deployment finished successfully (type: array
|
911
|
+
(string, can be given multiple times))
|
912
|
+
--help Get help on this command
|
867
913
|
|
868
914
|
Examples:
|
869
915
|
|
@@ -2695,4 +2741,4 @@ This tool would not exist without your help.
|
|
2695
2741
|
|
2696
2742
|
A huge thank you goes out to all of our current and past [contributors](https://github.com/travis-ci/dpl/graphs/contributors):
|
2697
2743
|
|
2698
|
-
5c077yP, A.J. May, A92hm, Aakriti Gupta, Aaron Hill, Aaron1011, Abdón Rodríguez Davila, Adam King, Adam Mcgrath, adinata, Adrian Moreno, Ahmad Nassri, Ahmed Refaey, Ainun Nazieb, Albertin Loic, Alex Jurkiewicz, Alexander Springer, Alexey Kotlyarov, Ali Hajimirza, Amos Wenger, Anders Olsen Sandvik, Andrey Lushchick, Andy Vanbutsele, Angelo Livanos, Anne-Julia Seitz, Antoine Savignac, Anton Babenko, Anton Ilin, Arnold Daniels, Ashen Gunaratne, awesomescot, Axel Fontaine, Baptiste Courtois, Ben Hale, Benjamin Guttmann, Bob, Bob Zoller, Brad Gignac, Brandon Burton, Brandon LeBlanc, Brian Hou, Cameron White, capotej, Carla, carlad, Chad Engler, Chathan Driehuys, Chris Patterson, Christian Elsen, Christian Rackerseder, Clay Reimann, cleem, Cryptophobia, Damien Mathieu, Dan Buch, Dan Powell, Daniel X Moore, David F. Severski, Denis Cornehl, Dennis Koot, dependabot[bot], Devin J. Pohly, Dominic Jodoin, Dwayne Forde, emdantrim, Eric Peterson, Erik Dalén, Esteban Santiesteban, Étienne Michon, eyalbe4, Fabio Napoleoni, Felix Rieseberg, fgogolli, Filip Š, Flamur Gogolli, Gabriel Saldana, George Brighton, Gil, Gil Megidish, Gil Tselenchuk, Hao Luo, Hauke Stange, Henrik Hodne, Hiro Asari, IMANAKA, Kouta, Ivan Evtuhovich, Ivan Kusalic, Ivan Pozdeev, Jacob Burkhart, Jake Hewitt, Jakub Holy, James Adam, James Awesome, James Parker, Janderson, Jannis Leidel, Jeffrey Yasskin, Jeremy Frasier, JMSwag, Joe Damato, Joep van Delft, Johannes Würbach, johanneswuerbach, Johnny Dobbins, Jon Benson, Jon Rowe, Jon-Erik Schneiderhan, Jonatan Männchen, Jonathan Stites, Jonathan Sundqvist, jorgecasar, Josh Kalderimis, joshua-anderson, Jouni Kaplas, Julia S.Simon, Julio Capote, jung_b@localhost, Karim Fateem, Ke Zhu, konrad-c, Konstantin Haase, Kouta Imanaka, Kristofer Svardstal, Kyle Fazzari, Kyle VanderBeek, Loïc Mahieu, Lorenz Leutgeb, Lorne Currie, Louis Lagrange, Louis St-Amour, Luke Yeager, Maciej Skierkowski, Mahdi Nami Damirchi, Marc, María de Antón, mariadeanton, Mariana Lenetis and Zachary Gershman, Marius Gripsgard, Mark Pundsack, marscher, Marwan Rabbâa, Mathias Meyer, Mathias Rangel Wulff, Mathias San Miguel, Matt Hernandez, Matt Knox, Matt Travi, Matthew Knox, Maxime Brugidou, mayeut, Meir Gottlieb, Michael Bleigh, Michael Dunn, Michael Friis, Michel Boudreau, Mike Bryant, Nat Welch, Nicholas Bruning, Nick Mohoric, Nico Lindemann, Nigel Ramsay, Nikhil, Ole Michaelis, Olle Jonsson, Omer Katz, Patrique Legault, Paul Beaudoin, Paul Nikitochkin, Peter, Peter Georgantas, Peter Newman, Philipp Hansch, Piotr Sarnacki, Radek Lisowski, Radosław Lisowski, Rail Aliiev, Randall A. Gordon, Robert, Robert Gogolok, Rokas Brazdžionis, Romuald Bulyshko, root, ryanj, Ryn Daniels, Samir Talwar, Samuel Wright, Sandor Zeestraten, Sascha Zarhuber, SAULEAU Sven, Scot Spinner, Sebastien Estienne, Sergei Chertkov, shunyi, Simon, Solly, Sorin Sbarnea, Soulou, Stefan Kolb, Steffen Kötte, step76, Steven Berlanga, Sven Fuchs, Sviatoslav Sydorenko, testfairy, Tim Ysewyn, Troels Thomsen, Tyler Cross, Uriah Levy, Vincent Jacques, Vojtech Vondra, Vojtěch Vondra, Wael M. Nasreddine, Wen Kokke, Wim Looman, Xavier Krantz, yeonhoyoon, Zane Williamson
|
2744
|
+
5c077yP, A.J. May, A92hm, Aakriti Gupta, Aaron Hill, Aaron1011, Abdón Rodríguez Davila, Adam King, Adam Mcgrath, adinata, Adrian Moreno, Ahmad Nassri, Ahmed Refaey, Ainun Nazieb, Albertin Loic, Alex Jurkiewicz, Alexander Springer, Alexey Kotlyarov, Ali Hajimirza, Amos Wenger, Anders Olsen Sandvik, Andrew Nichols, Andrey Lushchick, Andy Vanbutsele, Angelo Livanos, Anne-Julia Seitz, Antoine Savignac, Anton Babenko, Anton Ilin, Arnold Daniels, Ashen Gunaratne, awesomescot, Axel Fontaine, Baptiste Courtois, Ben Hale, Benjamin Guttmann, Bob, Bob Zoller, Brad Gignac, Brandon Burton, Brandon LeBlanc, Brian Hou, Cameron White, capotej, Carla, carlad, Chad Engler, Chathan Driehuys, Chris Patterson, Christian Elsen, Christian Rackerseder, Clay Reimann, cleem, Cryptophobia, Damien Mathieu, Dan Buch, Dan Powell, Daniel X Moore, David F. Severski, Denis Cornehl, Dennis Koot, dependabot[bot], Devin J. Pohly, Dominic Jodoin, Dwayne Forde, emdantrim, Eric Peterson, Erik Dalén, Esteban Santiesteban, Étienne Michon, Eugene, Eugene Shubin, eyalbe4, Fabio Napoleoni, Felix Rieseberg, fgogolli, Filip Š, Flamur Gogolli, Gabriel Saldana, George Brighton, Gil, Gil Megidish, Gil Tselenchuk, Hao Luo, Hauke Stange, Henrik Hodne, Hiro Asari, IMANAKA, Kouta, Ivan Evtuhovich, Ivan Kusalic, Ivan Pozdeev, Jacob Burkhart, Jake Hewitt, Jakub Holy, James Adam, James Awesome, James Parker, Janderson, Jannis Leidel, Jeffrey Yasskin, Jeremy Frasier, JMSwag, Joe Damato, Joep van Delft, Johannes Würbach, johanneswuerbach, Johnny Dobbins, Jon Benson, Jon Rowe, Jon-Erik Schneiderhan, Jonatan Männchen, Jonathan Stites, Jonathan Sundqvist, jorgecasar, Josh Kalderimis, joshua-anderson, Jouni Kaplas, Julia S.Simon, Julio Capote, jung_b@localhost, Karim Fateem, Ke Zhu, konrad-c, Konstantin Haase, Kouta Imanaka, Kristofer Svardstal, Kyle Fazzari, Kyle VanderBeek, Loïc Mahieu, Lorenz Leutgeb, Lorne Currie, Louis Lagrange, Louis St-Amour, Luke Yeager, Maciej Skierkowski, Mahdi Nami Damirchi, Marc, María de Antón, mariadeanton, Mariana Lenetis and Zachary Gershman, Marius Gripsgard, Mark Pundsack, marscher, Marwan Rabbâa, Mathias Meyer, Mathias Rangel Wulff, Mathias San Miguel, Matt Hernandez, Matt Knox, Matt Travi, Matthew Knox, Maxime Brugidou, mayeut, Meir Gottlieb, Michael Bleigh, Michael Dunn, Michael Friis, Michel Boudreau, Mike Bryant, Nat Welch, Nicholas Bruning, Nick Mohoric, Nico Lindemann, Nigel Ramsay, Nikhil, Ole Michaelis, Olle Jonsson, Omer Katz, Patrique Legault, Paul Beaudoin, Paul Nikitochkin, Peter, Peter Georgantas, Peter Newman, Philipp Hansch, Piotr Sarnacki, Radek Lisowski, Radosław Lisowski, Rail Aliiev, Randall A. Gordon, Robert, Robert Gogolok, Rokas Brazdžionis, Romuald Bulyshko, root, ryanj, Ryn Daniels, Samir Talwar, Samuel Wright, Sandor Zeestraten, Sascha Zarhuber, SAULEAU Sven, Scot Spinner, Sebastien Estienne, Sergei Chertkov, shunyi, Simon, Solly, Sorin Sbarnea, Soulou, Stefan Kolb, Steffen Kötte, step76, Steven Berlanga, Sven Fuchs, Sviatoslav Sydorenko, testfairy, Tim Ysewyn, Troels Thomsen, Tyler Cross, Uriah Levy, Vincent Jacques, Vojtech Vondra, Vojtěch Vondra, Wael M. Nasreddine, Wen Kokke, Wim Looman, Xavier Krantz, yeonhoyoon, Zane Williamson
|
data/lib/dpl/providers.rb
CHANGED
@@ -11,6 +11,7 @@ require 'dpl/providers/cloudfiles'
|
|
11
11
|
require 'dpl/providers/cloudformation'
|
12
12
|
require 'dpl/providers/cloudfoundry'
|
13
13
|
require 'dpl/providers/codedeploy'
|
14
|
+
require 'dpl/providers/ecr'
|
14
15
|
require 'dpl/providers/convox'
|
15
16
|
require 'dpl/providers/elasticbeanstalk'
|
16
17
|
require 'dpl/providers/engineyard'
|
@@ -22,10 +22,11 @@ module Dpl
|
|
22
22
|
opt '--buildpack PACK', 'Buildpack name or Git URL'
|
23
23
|
opt '--manifest FILE', 'Path to the manifest'
|
24
24
|
opt '--skip_ssl_validation', 'Skip SSL validation'
|
25
|
+
opt '--deployment_strategy STRATEGY', 'Deployment strategy, either rolling or null'
|
25
26
|
opt '--v3', 'Use the v3 API version to push the application'
|
26
27
|
opt '--logout', default: true, internal: true
|
27
28
|
|
28
|
-
cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
|
29
|
+
cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&version=v7&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
|
29
30
|
api: './cf api %{api} %{skip_ssl_validation_opt}',
|
30
31
|
login: './cf login -u %{username} -p %{password} -o %{organization} -s %{space}',
|
31
32
|
push: './cf %{push_cmd} %{push_args}',
|
@@ -70,6 +71,7 @@ module Dpl
|
|
70
71
|
args = []
|
71
72
|
args << quote(app_name) if app_name?
|
72
73
|
args << "-f #{manifest}" if manifest?
|
74
|
+
args << "--strategy #{deployment_strategy}" if deployment_strategy?
|
73
75
|
args.join(' ')
|
74
76
|
end
|
75
77
|
|
@@ -84,7 +84,12 @@ module Dpl
|
|
84
84
|
def wait_until_deployed(id)
|
85
85
|
print :waiting_for_deploy
|
86
86
|
status = poll(id) until %w(Succeeded Failed Stopped).include?(status)
|
87
|
-
|
87
|
+
case status
|
88
|
+
when 'Succeeded'
|
89
|
+
info :finished_deploy, status
|
90
|
+
else
|
91
|
+
error :finished_deploy, status
|
92
|
+
end
|
88
93
|
end
|
89
94
|
|
90
95
|
def poll(id)
|
@@ -0,0 +1,127 @@
|
|
1
|
+
module Dpl
|
2
|
+
module Providers
|
3
|
+
class Ecr < Provider
|
4
|
+
status :alpha
|
5
|
+
|
6
|
+
full_name 'AWS ECR'
|
7
|
+
|
8
|
+
description sq(<<-str)
|
9
|
+
tbd
|
10
|
+
str
|
11
|
+
|
12
|
+
gem 'aws-sdk-ecr', '~> 1.0'
|
13
|
+
# gem 'docker-api', '~> 1.34'
|
14
|
+
gem 'json'
|
15
|
+
|
16
|
+
env :aws
|
17
|
+
|
18
|
+
opt '--access_key_id ID', 'AWS access key', required: true, secret: true
|
19
|
+
opt '--secret_access_key KEY', 'AWS secret access key', required: true, secret: true
|
20
|
+
opt '--account_id ID', 'AWS Account ID', note: 'Required if the repository is owned by a different account than the IAM user'
|
21
|
+
opt '--source SOURCE', 'Image to push', note: 'can be the id or the name and optional tag (e.g. mysql:5.6)', required: true
|
22
|
+
opt '--target TARGET', 'Comma separated list of partial repository names to push to', eg: 'image-one:tag,image-two', required: true
|
23
|
+
opt '--region REGION', 'Comma separated list of regions to push to', default: 'us-east-1'
|
24
|
+
|
25
|
+
msgs login: 'Using Access Key: %{access_key_id}',
|
26
|
+
auth_region: 'Authenticated with %{url}',
|
27
|
+
deploy: 'Pushing image %{source} to regions %{regions} as %{targets}',
|
28
|
+
image_pushed: 'Pushed image %{source} to region %{region} as %{target}'
|
29
|
+
|
30
|
+
cmds login: 'docker login -u %{user} -p %{pass} %{url}',
|
31
|
+
tag: 'docker tag %{source} %{url}/%{repo}:%{tag}',
|
32
|
+
push: 'docker push %{url}/%{repo}'
|
33
|
+
|
34
|
+
errs unknown_image: 'Image %{source} not found in the local Docker repository'
|
35
|
+
|
36
|
+
attr_reader :endpoints
|
37
|
+
|
38
|
+
def login
|
39
|
+
info :login
|
40
|
+
auth_regions
|
41
|
+
end
|
42
|
+
|
43
|
+
def validate
|
44
|
+
# TODO validate the image exists locally
|
45
|
+
end
|
46
|
+
|
47
|
+
def deploy
|
48
|
+
info :deploy, regions: regions.join(', '), targets: targets.join(', ')
|
49
|
+
regions.product(targets).each do |region, target|
|
50
|
+
push(region, target)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def push(region, target)
|
57
|
+
url, repo, tag = endpoints[region], *target.split(':')
|
58
|
+
shell :tag, url: url, repo: repo, tag: tag || 'latest'
|
59
|
+
shell :push, url: url, repo: repo
|
60
|
+
info :image_pushed, region: region, target: target
|
61
|
+
end
|
62
|
+
|
63
|
+
def auth_regions
|
64
|
+
@endpoints = regions.map { |region| [region, auth_region(region)] }.to_h
|
65
|
+
end
|
66
|
+
|
67
|
+
def auth_region(region)
|
68
|
+
token = auth_token(region)
|
69
|
+
user, pass = parse_auth(token.authorization_token)
|
70
|
+
url = token.proxy_endpoint
|
71
|
+
shell :login, user: user, pass: pass, url: url, echo: false, silent: true
|
72
|
+
info :auth_region, url: url
|
73
|
+
strip_protocol(url)
|
74
|
+
end
|
75
|
+
|
76
|
+
def auth_token(region)
|
77
|
+
ecr(region).get_authorization_token(registry_ids).authorization_data[0]
|
78
|
+
end
|
79
|
+
|
80
|
+
def registry_ids
|
81
|
+
account_id? ? { registry_ids: [account_id] } : {}
|
82
|
+
end
|
83
|
+
|
84
|
+
def regions
|
85
|
+
# not sure how this was meant to be normalized when being a YAML list
|
86
|
+
region.split(',')
|
87
|
+
end
|
88
|
+
|
89
|
+
def targets
|
90
|
+
# not sure how this was meant to be normalized when being a YAML list
|
91
|
+
target.split(',')
|
92
|
+
end
|
93
|
+
|
94
|
+
def creds
|
95
|
+
@creds ||= only(opts, :access_key_id, :secret_access_key)
|
96
|
+
end
|
97
|
+
|
98
|
+
def ecr(region)
|
99
|
+
Aws::ECR::Client.new(region: region, **creds)
|
100
|
+
end
|
101
|
+
|
102
|
+
def parse_auth(str)
|
103
|
+
user, pass = Base64.decode64(str).split(':')
|
104
|
+
[user, pass.chomp]
|
105
|
+
end
|
106
|
+
|
107
|
+
def strip_protocol(url)
|
108
|
+
url.sub(/^https?:\/\//, '')
|
109
|
+
end
|
110
|
+
|
111
|
+
def progress(events)
|
112
|
+
events.split("\r\n").each do |event|
|
113
|
+
event = JSON.parse(event)
|
114
|
+
if e = event['error']
|
115
|
+
error e
|
116
|
+
elsif %w(Preparing Pushing).include?(event['status'])
|
117
|
+
nil
|
118
|
+
elsif event['id']
|
119
|
+
info "#{event['status']} [#{event['id']}]"
|
120
|
+
elsif event['status']
|
121
|
+
info event['status']
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
data/lib/dpl/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dpl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Haase
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-09-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cl
|
@@ -57,12 +57,10 @@ files:
|
|
57
57
|
- Gemfile
|
58
58
|
- Gemfile.lock
|
59
59
|
- LICENSE
|
60
|
-
- NOTES.md
|
61
60
|
- README.md
|
62
61
|
- Rakefile
|
63
62
|
- bin/dpl
|
64
63
|
- config/transliterate.yml
|
65
|
-
- dpl.gemspec
|
66
64
|
- lib/dpl.rb
|
67
65
|
- lib/dpl/assets/atlas/install
|
68
66
|
- lib/dpl/assets/convox/install
|
@@ -106,6 +104,7 @@ files:
|
|
106
104
|
- lib/dpl/providers/codedeploy.rb
|
107
105
|
- lib/dpl/providers/convox.rb
|
108
106
|
- lib/dpl/providers/datica.rb
|
107
|
+
- lib/dpl/providers/ecr.rb
|
109
108
|
- lib/dpl/providers/elasticbeanstalk.rb
|
110
109
|
- lib/dpl/providers/engineyard.rb
|
111
110
|
- lib/dpl/providers/firebase.rb
|
@@ -146,7 +145,6 @@ files:
|
|
146
145
|
- lib/dpl/support/gstore_patch.rb
|
147
146
|
- lib/dpl/support/version.rb
|
148
147
|
- lib/dpl/version.rb
|
149
|
-
- status.json
|
150
148
|
homepage: https://github.com/travis-ci/dpl
|
151
149
|
licenses:
|
152
150
|
- MIT
|
@@ -166,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
164
|
- !ruby/object:Gem::Version
|
167
165
|
version: 1.3.1
|
168
166
|
requirements: []
|
169
|
-
|
170
|
-
rubygems_version: 2.6.11
|
167
|
+
rubygems_version: 3.0.6
|
171
168
|
signing_key:
|
172
169
|
specification_version: 4
|
173
170
|
summary: Dpl runs deployments at Travis CI
|
data/NOTES.md
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
x add `opts required: [:api_key, [:user, :password]]`
|
2
|
-
x add opt '--foo', requires: :other
|
3
|
-
x add opt '--foo', alias: :other
|
4
|
-
x add opt '--foo', format: /.+/
|
5
|
-
x add opt '--foo', deprecated: true
|
6
|
-
x add opt '--foo', alias: :other, deprecated: :other
|
7
|
-
x add opt '--foo', max: 10, type: :integer
|
8
|
-
x add opt '--foo', enum: ['one', 'two']
|
9
|
-
x consider automatically adding `[no-]` to booleans
|
10
|
-
x make it so that Cl::Cmd parses the args, not Runner. only that way sub cmd specific opts can sit on the sub command
|
11
|
-
x cleanup and move matchers
|
12
|
-
x add lookup and interpolation to assert
|
13
|
-
x revisit using MSGS and CMDS everywhere
|
14
|
-
x add something like :keep for automatically moving things out of the way before cleanup
|
15
|
-
x make specs validate that cmds have run in the correct order
|
16
|
-
x revisit what's up with `needs_key`
|
17
|
-
x revisit what's up with `git_http_user_agent false`
|
18
|
-
x revisit the run stages in Provider
|
19
|
-
x implement folds
|
20
|
-
x port on-demand installation of sub gems
|
21
|
-
x make MSGS etc class methods, so they can inherit from base classes (for Heroku)
|
22
|
-
x move sub cmd opts etc to sub classes for Heroku
|
23
|
-
x look into using FakeFS, MemFS sucks
|
24
|
-
x make a list of strategies/tools providers use
|
25
|
-
x revisit which providers need an ssh key, git, etc.
|
26
|
-
x should have run in order matcher does not work
|
27
|
-
x write bin/readme
|
28
|
-
x test Cl against all Ruby versions >= 2.0
|
29
|
-
x test Ctx
|
30
|
-
x go through all providers, remove fakefs, use chdir 'tmp/dpl'
|
31
|
-
x make sure all provider fs write operations go through ctx
|
32
|
-
x what is `options[:no_deploy]` for? (it's for testing. added it back as `--stages`)
|
33
|
-
x make sure dasherized options are accepted and normalized
|
34
|
-
x add opt internal: true to Cl
|
35
|
-
x write comments on the most important classes, so we can generate some api docs
|
36
|
-
x install gems with sudo if Process::UID.eid is 0
|
37
|
-
x document Provider.env
|
38
|
-
x add retry to Ctx#script
|
39
|
-
x try installing all gems at once
|
40
|
-
x run apt-get update before apt-get install, once
|
41
|
-
x make sure failed dependency installation fails the command
|
42
|
-
x fix dependency installation for various providers
|
43
|
-
x look into making `--app` and `--key_name` attr readers, rather than options
|
44
|
-
x make it so that options are being overwritten if specified by both base and sub classes
|
45
|
-
x test that `bin/dpl --stage install` runs as expected for various providers
|
46
|
-
x on Travis CI add a stage that tests `bin/dpl --stage install` for various providers on various ruby versions
|
47
|
-
x try using bundler/inline for gem dependencies
|
48
|
-
x write a proper readme for Cl
|
49
|
-
x add yard docs to Cl
|
50
|
-
x autogenerate examples
|
51
|
-
x update .github/CONTRIBUTING.md
|
52
|
-
x consider adding `note: 'some comment` to Cl opts (e.g. see Lambda tracing mode)
|
53
|
-
x bundle/inline seems to pick up an existing Gemfile.lock (which might be incompatible)
|
54
|
-
x figure out how to deal with python tooling on non-python images etc (just die for now)
|
55
|
-
x unit test netlfiy
|
56
|
-
x move ./.dpl to ~/.dpl (clutters the working dir)
|
57
|
-
x add a DSL for adding paths to PATH, e.g. gcs
|
58
|
-
x make sure all error messages are actually being displayed
|
59
|
-
x remove the fold for finishing the deployment, it's confusing. Maybe do not fold the deployment itself? or somehow keep the last fold open if there is an error?
|
60
|
-
x BitBalloon is now Netlify Drop https://app.netlify.com/drop. time to rename it?
|
61
|
-
x make `--skip_cleanup` the default
|
62
|
-
x make sure all main shell scripts use assert: true, echo: true
|
63
|
-
x make sure all asserts have an err msg (can we test this?), or add a generic error message
|
64
|
-
x add secure: true, in order to tell Cl to filter log output for a given option
|
65
|
-
x refactor Provider by splitting out a Cmd class for shell commands
|
66
|
-
x document Cmd methods
|
67
|
-
x revisit README and CONTRIBUTING
|
68
|
-
x Make sure failed deployments always fail the build starting with dpl 2.0
|
69
|
-
x PR sf-datapipeline
|
70
|
-
x add a DSL for moving files out of the way, and moving them back later, e.g. gcs /etc/boto.cfg
|
71
|
-
x start a CHANGELOG.md?
|
72
|
-
|
73
|
-
- EY docs do not explain where to obtain the api key
|
74
|
-
|
75
|
-
Future improvements
|
76
|
-
|
77
|
-
- https://www.freecodecamp.org/news/how-to-deploy-your-cloud-foundry-app-with-almost-zero-fear-using-travis-ci-926697fff8f6/
|
78
|
-
|
data/dpl.gemspec
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
$: << 'lib'
|
2
|
-
|
3
|
-
require 'dpl/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |s|
|
6
|
-
s.version = Dpl::VERSION
|
7
|
-
s.name = 'dpl'
|
8
|
-
s.authors = ['Konstantin Haase', 'Hiro Asari', 'Sven Fuchs']
|
9
|
-
s.email = ['konstantin@travis-ci.com', 'hiro@travis-ci.com', 'sven@travis-ci.com']
|
10
|
-
s.homepage = 'https://github.com/travis-ci/dpl'
|
11
|
-
s.summary = 'Dpl runs deployments at Travis CI'
|
12
|
-
s.description = 'Dpl (dee-pee-ell) is a tool made for continuous deployment, running deployments at Travis CI.'
|
13
|
-
s.license = 'MIT'
|
14
|
-
s.require_path = 'lib'
|
15
|
-
s.required_ruby_version = '>= 2.2'
|
16
|
-
|
17
|
-
s.executables = ['dpl']
|
18
|
-
s.files = Dir['{config/**/*,lib/**/*,[A-Z]*}']
|
19
|
-
|
20
|
-
s.add_runtime_dependency 'cl', '~> 1.0'
|
21
|
-
s.add_development_dependency 'rake', '~> 12.3'
|
22
|
-
end
|
data/status.json
DELETED
@@ -1,237 +0,0 @@
|
|
1
|
-
[
|
2
|
-
{
|
3
|
-
"name": "anynines",
|
4
|
-
"status": "alpha",
|
5
|
-
"date": "2019-08-05"
|
6
|
-
},
|
7
|
-
{
|
8
|
-
"name": "azure_web_apps",
|
9
|
-
"status": "alpha",
|
10
|
-
"date": "2019-08-05"
|
11
|
-
},
|
12
|
-
{
|
13
|
-
"name": "bintray",
|
14
|
-
"status": "stable",
|
15
|
-
"date": "2019-11-04"
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"name": "bluemixcloudfoundry",
|
19
|
-
"status": "stable",
|
20
|
-
"date": "2020-03-14"
|
21
|
-
},
|
22
|
-
{
|
23
|
-
"name": "boxfuse",
|
24
|
-
"status": "alpha",
|
25
|
-
"date": "2019-08-05"
|
26
|
-
},
|
27
|
-
{
|
28
|
-
"name": "cargo",
|
29
|
-
"status": "stable",
|
30
|
-
"date": "2020-01-27"
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"name": "chef_supermarket",
|
34
|
-
"status": "alpha",
|
35
|
-
"date": "2019-08-05"
|
36
|
-
},
|
37
|
-
{
|
38
|
-
"name": "cloud66",
|
39
|
-
"status": "alpha",
|
40
|
-
"date": "2019-08-05"
|
41
|
-
},
|
42
|
-
{
|
43
|
-
"name": "cloudfiles",
|
44
|
-
"status": "alpha",
|
45
|
-
"date": "2019-08-05"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"name": "cloudformation",
|
49
|
-
"status": "stable",
|
50
|
-
"date": "2019-11-04"
|
51
|
-
},
|
52
|
-
{
|
53
|
-
"name": "cloudfoundry",
|
54
|
-
"status": "stable",
|
55
|
-
"date": "2019-10-28"
|
56
|
-
},
|
57
|
-
{
|
58
|
-
"name": "codedeploy",
|
59
|
-
"status": "stable",
|
60
|
-
"date": "2020-02-21"
|
61
|
-
},
|
62
|
-
{
|
63
|
-
"name": "convox",
|
64
|
-
"status": "dev",
|
65
|
-
"date": "2019-08-16"
|
66
|
-
},
|
67
|
-
{
|
68
|
-
"name": "datica",
|
69
|
-
"status": "dev",
|
70
|
-
"date": "2019-08-05"
|
71
|
-
},
|
72
|
-
{
|
73
|
-
"name": "elasticbeanstalk",
|
74
|
-
"status": "stable",
|
75
|
-
"date": "2019-10-28"
|
76
|
-
},
|
77
|
-
{
|
78
|
-
"name": "engineyard",
|
79
|
-
"status": "alpha",
|
80
|
-
"date": "2019-08-05"
|
81
|
-
},
|
82
|
-
{
|
83
|
-
"name": "firebase",
|
84
|
-
"status": "stable",
|
85
|
-
"date": "2019-10-28"
|
86
|
-
},
|
87
|
-
{
|
88
|
-
"name": "flynn",
|
89
|
-
"status": "dev",
|
90
|
-
"date": "2020-01-22"
|
91
|
-
},
|
92
|
-
{
|
93
|
-
"name": "gae",
|
94
|
-
"status": "stable",
|
95
|
-
"date": "2019-10-29"
|
96
|
-
},
|
97
|
-
{
|
98
|
-
"name": "gcs",
|
99
|
-
"status": "stable",
|
100
|
-
"date": "2019-10-28"
|
101
|
-
},
|
102
|
-
{
|
103
|
-
"name": "git_push",
|
104
|
-
"status": "dev",
|
105
|
-
"date": "2020-02-17"
|
106
|
-
},
|
107
|
-
{
|
108
|
-
"name": "gleis",
|
109
|
-
"status": "alpha",
|
110
|
-
"date": "2019-09-04"
|
111
|
-
},
|
112
|
-
{
|
113
|
-
"name": "hackage",
|
114
|
-
"status": "alpha",
|
115
|
-
"date": "2019-08-05"
|
116
|
-
},
|
117
|
-
{
|
118
|
-
"name": "hephy",
|
119
|
-
"status": "beta",
|
120
|
-
"date": "2019-10-07"
|
121
|
-
},
|
122
|
-
{
|
123
|
-
"name": "heroku:api",
|
124
|
-
"status": "stable",
|
125
|
-
"date": "2019-10-28"
|
126
|
-
},
|
127
|
-
{
|
128
|
-
"name": "heroku:git",
|
129
|
-
"status": "alpha",
|
130
|
-
"date": "2019-08-05"
|
131
|
-
},
|
132
|
-
{
|
133
|
-
"name": "lambda",
|
134
|
-
"status": "stable",
|
135
|
-
"date": "2019-11-04"
|
136
|
-
},
|
137
|
-
{
|
138
|
-
"name": "launchpad",
|
139
|
-
"status": "alpha",
|
140
|
-
"date": "2019-08-05"
|
141
|
-
},
|
142
|
-
{
|
143
|
-
"name": "netlify",
|
144
|
-
"status": "stable",
|
145
|
-
"date": "2019-11-11"
|
146
|
-
},
|
147
|
-
{
|
148
|
-
"name": "npm",
|
149
|
-
"status": "stable",
|
150
|
-
"date": "2019-11-04"
|
151
|
-
},
|
152
|
-
{
|
153
|
-
"name": "nuget",
|
154
|
-
"status": "alpha",
|
155
|
-
"date": "2020-03-03"
|
156
|
-
},
|
157
|
-
{
|
158
|
-
"name": "openshift",
|
159
|
-
"status": "stable",
|
160
|
-
"date": "2019-11-04"
|
161
|
-
},
|
162
|
-
{
|
163
|
-
"name": "opsworks",
|
164
|
-
"status": "stable",
|
165
|
-
"date": "2019-11-18"
|
166
|
-
},
|
167
|
-
{
|
168
|
-
"name": "packagecloud",
|
169
|
-
"status": "alpha",
|
170
|
-
"date": "2019-08-05"
|
171
|
-
},
|
172
|
-
{
|
173
|
-
"name": "pages:api",
|
174
|
-
"status": "dev",
|
175
|
-
"date": "2019-09-10"
|
176
|
-
},
|
177
|
-
{
|
178
|
-
"name": "pages:git",
|
179
|
-
"status": "stable",
|
180
|
-
"date": "2019-10-28"
|
181
|
-
},
|
182
|
-
{
|
183
|
-
"name": "puppetforge",
|
184
|
-
"status": "alpha",
|
185
|
-
"date": "2019-08-05"
|
186
|
-
},
|
187
|
-
{
|
188
|
-
"name": "pypi",
|
189
|
-
"status": "stable",
|
190
|
-
"date": "2019-11-04"
|
191
|
-
},
|
192
|
-
{
|
193
|
-
"name": "releases",
|
194
|
-
"status": "stable",
|
195
|
-
"date": "2019-10-29"
|
196
|
-
},
|
197
|
-
{
|
198
|
-
"name": "rubygems",
|
199
|
-
"status": "stable",
|
200
|
-
"date": "2019-11-04"
|
201
|
-
},
|
202
|
-
{
|
203
|
-
"name": "s3",
|
204
|
-
"status": "stable",
|
205
|
-
"date": "2019-10-28"
|
206
|
-
},
|
207
|
-
{
|
208
|
-
"name": "scalingo",
|
209
|
-
"status": "alpha",
|
210
|
-
"date": "2019-08-05"
|
211
|
-
},
|
212
|
-
{
|
213
|
-
"name": "script",
|
214
|
-
"status": "stable",
|
215
|
-
"date": "2019-10-28"
|
216
|
-
},
|
217
|
-
{
|
218
|
-
"name": "snap",
|
219
|
-
"status": "stable",
|
220
|
-
"date": "2020-02-20"
|
221
|
-
},
|
222
|
-
{
|
223
|
-
"name": "surge",
|
224
|
-
"status": "stable",
|
225
|
-
"date": "2020-01-14"
|
226
|
-
},
|
227
|
-
{
|
228
|
-
"name": "testfairy",
|
229
|
-
"status": "alpha",
|
230
|
-
"date": "2019-08-05"
|
231
|
-
},
|
232
|
-
{
|
233
|
-
"name": "transifex",
|
234
|
-
"status": "alpha",
|
235
|
-
"date": "2019-08-05"
|
236
|
-
}
|
237
|
-
]
|