travis_dpl_test 2.0.3.beta.4.ror

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +172 -0
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/CONTRIBUTING.md +392 -0
  5. data/Gemfile +32 -0
  6. data/Gemfile.lock +611 -0
  7. data/LICENSE +19 -0
  8. data/README.md +2744 -0
  9. data/Rakefile +210 -0
  10. data/bin/dpl +11 -0
  11. data/config/transliterate.yml +733 -0
  12. data/dpl.gemspec +23 -0
  13. data/lib/dpl/assets/atlas/install +19 -0
  14. data/lib/dpl/assets/convox/install +11 -0
  15. data/lib/dpl/assets/dpl/README.erb.md +138 -0
  16. data/lib/dpl/assets/dpl/git_ssh +8 -0
  17. data/lib/dpl/assets/git/detect_private_key +8 -0
  18. data/lib/dpl/assets/hephy/filter_log +3 -0
  19. data/lib/dpl/assets/pypi/install +4 -0
  20. data/lib/dpl/assets/scalingo/install +6 -0
  21. data/lib/dpl/cli.rb +100 -0
  22. data/lib/dpl/ctx/bash.rb +549 -0
  23. data/lib/dpl/ctx/test.rb +255 -0
  24. data/lib/dpl/ctx.rb +4 -0
  25. data/lib/dpl/helper/assets.rb +38 -0
  26. data/lib/dpl/helper/cmd.rb +169 -0
  27. data/lib/dpl/helper/config_file.rb +49 -0
  28. data/lib/dpl/helper/cookbook_site_streaming_uploader.rb +249 -0
  29. data/lib/dpl/helper/env.rb +92 -0
  30. data/lib/dpl/helper/github.rb +22 -0
  31. data/lib/dpl/helper/interpolate.rb +160 -0
  32. data/lib/dpl/helper/memoize.rb +23 -0
  33. data/lib/dpl/helper/squiggle.rb +24 -0
  34. data/lib/dpl/helper/transliterate.rb +13 -0
  35. data/lib/dpl/helper/wrap.rb +11 -0
  36. data/lib/dpl/helper/zip.rb +71 -0
  37. data/lib/dpl/provider/dsl.rb +410 -0
  38. data/lib/dpl/provider/examples.rb +132 -0
  39. data/lib/dpl/provider/status.rb +61 -0
  40. data/lib/dpl/provider.rb +651 -0
  41. data/lib/dpl/providers/anynines.rb +71 -0
  42. data/lib/dpl/providers/azure_web_apps.rb +63 -0
  43. data/lib/dpl/providers/bintray.rb +324 -0
  44. data/lib/dpl/providers/bluemixcloudfoundry.rb +98 -0
  45. data/lib/dpl/providers/boxfuse.rb +52 -0
  46. data/lib/dpl/providers/cargo.rb +32 -0
  47. data/lib/dpl/providers/chef_supermarket.rb +132 -0
  48. data/lib/dpl/providers/cloud66.rb +46 -0
  49. data/lib/dpl/providers/cloudfiles.rb +62 -0
  50. data/lib/dpl/providers/cloudformation.rb +281 -0
  51. data/lib/dpl/providers/cloudfoundry.rb +89 -0
  52. data/lib/dpl/providers/codedeploy.rb +190 -0
  53. data/lib/dpl/providers/convox.rb +130 -0
  54. data/lib/dpl/providers/datica.rb +64 -0
  55. data/lib/dpl/providers/ecr.rb +129 -0
  56. data/lib/dpl/providers/elasticbeanstalk.rb +207 -0
  57. data/lib/dpl/providers/engineyard.rb +113 -0
  58. data/lib/dpl/providers/firebase.rb +45 -0
  59. data/lib/dpl/providers/flynn.rb +35 -0
  60. data/lib/dpl/providers/gae.rb +78 -0
  61. data/lib/dpl/providers/gcs.rb +132 -0
  62. data/lib/dpl/providers/git_push.rb +273 -0
  63. data/lib/dpl/providers/gleis.rb +74 -0
  64. data/lib/dpl/providers/hackage.rb +53 -0
  65. data/lib/dpl/providers/hephy.rb +107 -0
  66. data/lib/dpl/providers/heroku/api.rb +123 -0
  67. data/lib/dpl/providers/heroku/git.rb +54 -0
  68. data/lib/dpl/providers/heroku.rb +111 -0
  69. data/lib/dpl/providers/lambda.rb +211 -0
  70. data/lib/dpl/providers/launchpad.rb +80 -0
  71. data/lib/dpl/providers/netlify.rb +38 -0
  72. data/lib/dpl/providers/npm.rb +130 -0
  73. data/lib/dpl/providers/nuget.rb +41 -0
  74. data/lib/dpl/providers/openshift.rb +52 -0
  75. data/lib/dpl/providers/opsworks.rb +146 -0
  76. data/lib/dpl/providers/packagecloud.rb_ +194 -0
  77. data/lib/dpl/providers/pages/api.rb +106 -0
  78. data/lib/dpl/providers/pages/git.rb +262 -0
  79. data/lib/dpl/providers/pages.rb +18 -0
  80. data/lib/dpl/providers/puppetforge.rb +50 -0
  81. data/lib/dpl/providers/pypi.rb +125 -0
  82. data/lib/dpl/providers/releases.rb +234 -0
  83. data/lib/dpl/providers/rubygems.rb +97 -0
  84. data/lib/dpl/providers/s3.rb +251 -0
  85. data/lib/dpl/providers/scalingo.rb +69 -0
  86. data/lib/dpl/providers/script.rb +32 -0
  87. data/lib/dpl/providers/snap.rb +68 -0
  88. data/lib/dpl/providers/surge.rb +59 -0
  89. data/lib/dpl/providers/testfairy.rb +101 -0
  90. data/lib/dpl/providers/transifex.rb +72 -0
  91. data/lib/dpl/providers.rb +48 -0
  92. data/lib/dpl/string_ext.rb +23 -0
  93. data/lib/dpl/support/aws_sdk_patch.rb +26 -0
  94. data/lib/dpl/support/gems.rb +73 -0
  95. data/lib/dpl/support/gstore_patch.rb +8 -0
  96. data/lib/dpl/support/version.rb +84 -0
  97. data/lib/dpl/version.rb +5 -0
  98. data/lib/dpl.rb +23 -0
  99. data/status.json +237 -0
  100. metadata +161 -0
data/README.md ADDED
@@ -0,0 +1,2744 @@
1
+ # Dpl [![Build Status](https://travis-ci.com/travis-ci/dpl.svg?branch=master)](https://travis-ci.com/travis-ci/dpl) [![Code Climate](https://codeclimate.com/github/travis-ci/dpl.svg)](https://codeclimate.com/github/travis-ci/dpl) [![Coverage Status](https://coveralls.io/repos/travis-ci/dpl/badge.svg?branch=master&service=github&cache=2019-08-09_17:00)](https://coveralls.io/github/travis-ci/dpl?branch=master) [![Gem Version](https://img.shields.io/gem/v/dpl)](http://rubygems.org/gems/dpl) [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/travis-ci/dpl)
2
+
3
+ This version of the README documents dpl v2, the next major version of dpl.
4
+ The README for dpl v1, the version that is currently used in production on
5
+ Travis CI can be found [here](https://github.com/travis-ci/dpl/blob/v1/README.md).
6
+
7
+ Dpl is command line tool for deploying code, html, packages, or build artifacts
8
+ to various service providers.
9
+
10
+ It is tightly integrated into Travis CI's [deployment integration](https://docs.travis-ci.com/user/deployment),
11
+ but also used, and recommended by others, such as [GitLab](https://docs.gitlab.com/ee/ci/examples/deployment/).
12
+
13
+ It is maintained by Travis CI, largely community driven, and it has existed
14
+ since 2013. If you find support your preferred deployment target missing,
15
+ please do not hesitate to get in touch, and we'll help you [add it](#contributing-to-dpl).
16
+
17
+ ## Table of Contents
18
+
19
+ * [Requirements](#requirements)
20
+ * [Installation](#installation)
21
+ * [Usage](#usage)
22
+ * [Maturity Levels](#maturity-levels)
23
+ * [Supported Providers](#supported-providers)
24
+ * [Contributing to Dpl](#contributing-to-dpl)
25
+ * [Old Issues](#old-issues)
26
+ * [Code of Conduct](#code-of-conduct)
27
+ * [License](#license)
28
+ * [Credits](#credits)
29
+
30
+ ## Requirements
31
+
32
+ Dpl requires Ruby 2.3 or later.
33
+
34
+ Depending on the deployment target dpl might require additional runtimes (e.g.
35
+ Go, Node.js, or Python) to be installed. It also might require sudo access in
36
+ order to install a Debian package.
37
+
38
+ Dpl is generally optimized for usage on Linux systems.
39
+
40
+ ## Installation
41
+
42
+ This version of dpl is currently released as an `alpha` preview release. In
43
+ order to install it, add the `--pre` flag:
44
+
45
+ ```
46
+ gem install dpl --pre
47
+ ```
48
+
49
+ ## Usage
50
+
51
+ Dpl is meant and optimized for usage in ephemeral build environments, such
52
+ as Travis CI, or any other CI/CD pipeline.
53
+
54
+ Dpl is integrated to Travis CI's build configuration and build script compilation
55
+ tooling, so all you need to do is add the proper configuration to your `.travis.yml`
56
+ file. Please refer to [the documentation](https://docs.travis-ci.com/user/deployment)
57
+ for details.
58
+
59
+ For usage outside of Travis CI dpl can be executed as follows. Please refer to
60
+ the respective [providers](#supported-providers) for details.
61
+
62
+ ```
63
+ dpl [provider] [options]
64
+ ```
65
+
66
+ Dpl can be used locally, e.g. on your development machine, but it might leave
67
+ artifacts that may alter the behaviour of your system. If you encounter this
68
+ behaviour and it presents a serious issue to you then please open an
69
+ [issue](https://github.com/travis-ci/dpl/issues/new).
70
+
71
+ ### Cleaning up the Git working directory
72
+
73
+ Dpl v1 has cleaned up the Git working directory by default, using `git stash
74
+ --all`. The default for this option has been changed in dpl v2, and users now
75
+ need to opt in to cleaning up any left over artifacts from the build process
76
+ by passing the option `--cleanup`.
77
+
78
+ The status of the working directory is relevant only to providers that package
79
+ and push it to the respective remote service (e.g. `heroku` when using the
80
+ `api` strategy, package registry providers, etc.). Most providers will either
81
+ push the latest Git commit, or pull code from a remote repository.
82
+
83
+ ## Maturity Levels
84
+
85
+ In order to communicate the current development status and maturity of dpl's
86
+ support for a particular service the respective provider is marked with one of
87
+ the following maturity levels, according to the given criteria:
88
+
89
+ * `dev` - the provider is in development (initial level)
90
+ * `alpha` - the provider is fully tested
91
+ * `beta` - the provider has been in alpha for at least a month, and successful real-world production deployments have been observed
92
+ * `stable` - the provider has been in beta for at least a month, and there are no open issues that qualify as critical (such as deployments failing, documented functionality broken, etc)
93
+
94
+ ## Supported Providers
95
+
96
+ Dpl supports the following providers:
97
+
98
+ * [Anynines](#anynines)
99
+ * [AWS CloudFormation](#aws-cloudformation)
100
+ * [AWS Code Deploy](#aws-code-deploy)
101
+ * [AWS ECR](#aws-ecr)
102
+ * [AWS Elastic Beanstalk](#aws-elastic-beanstalk)
103
+ * [AWS Lambda](#aws-lambda)
104
+ * [AWS OpsWorks](#aws-opsworks)
105
+ * [AWS S3](#aws-s3)
106
+ * [Azure Web Apps](#azure-web-apps)
107
+ * [Bintray](#bintray)
108
+ * [Bluemix Cloud Foundry](#bluemix-cloud-foundry)
109
+ * [Boxfuse](#boxfuse)
110
+ * [Cargo](#cargo)
111
+ * [Chef Supermarket](#chef-supermarket)
112
+ * [Cloud Files](#cloud-files)
113
+ * [Cloud Foundry](#cloud-foundry)
114
+ * [Cloud66](#cloud66)
115
+ * [Convox](#convox)
116
+ * [Datica](#datica)
117
+ * [Engineyard](#engineyard)
118
+ * [Firebase](#firebase)
119
+ * [Flynn](#flynn)
120
+ * [Git (push)](#git-push)
121
+ * [GitHub Pages](#github-pages)
122
+ * [GitHub Pages (API)](#github-pages-api)
123
+ * [GitHub Releases](#github-releases)
124
+ * [Gleis](#gleis)
125
+ * [Google App Engine](#google-app-engine)
126
+ * [Google Cloud Store](#google-cloud-store)
127
+ * [Hackage](#hackage)
128
+ * [Hephy](#hephy)
129
+ * [Heroku API](#heroku-api)
130
+ * [Heroku Git](#heroku-git)
131
+ * [Launchpad](#launchpad)
132
+ * [Netlify](#netlify)
133
+ * [npm](#npm)
134
+ * [nuget](#nuget)
135
+ * [OpenShift](#openshift)
136
+ * [Packagecloud](#packagecloud)
137
+ * [Puppet Forge](#puppet-forge)
138
+ * [PyPI](#pypi)
139
+ * [Rubygems](#rubygems)
140
+ * [Scalingo](#scalingo)
141
+ * [Script](#script)
142
+ * [Snap](#snap)
143
+ * [Surge](#surge)
144
+ * [TestFairy](#testfairy)
145
+ * [Transifex](#transifex)
146
+
147
+
148
+ ### Anynines
149
+
150
+ Support for deployments to Anynines is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
151
+
152
+ ```
153
+ Usage: dpl anynines [options]
154
+
155
+ Summary:
156
+
157
+ Anynines deployment provider
158
+
159
+ Description:
160
+
161
+ tbd
162
+
163
+ Options:
164
+
165
+ --username USER anynines username (type: string, required)
166
+ --password PASS anynines password (type: string, required)
167
+ --organization ORG anynines organization (type: string, required)
168
+ --space SPACE anynines space (type: string, required)
169
+ --app_name APP Application name (type: string)
170
+ --buildpack PACK Buildpack name or Git URL (type: string)
171
+ --manifest FILE Path to the manifest (type: string)
172
+
173
+ Common Options:
174
+
175
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
176
+ --run CMD Commands to execute after the deployment finished successfully (type: array
177
+ (string, can be given multiple times))
178
+ --help Get help on this command
179
+
180
+ Examples:
181
+
182
+ dpl anynines --username user --password pass --organization org --space space
183
+ dpl anynines --username user --password pass --organization org --space space --app_name app
184
+ ```
185
+
186
+ Options can be given via env vars if prefixed with `ANYNINES_`. E.g. the option `--password` can be
187
+ given as `ANYNINES_PASSWORD=<password>`.
188
+
189
+ ### AWS CloudFormation
190
+
191
+
192
+
193
+ ```
194
+ Usage: dpl cloudformation [options]
195
+
196
+ Summary:
197
+
198
+ AWS CloudFormation deployment provider
199
+
200
+ Description:
201
+
202
+ tbd
203
+
204
+ Options:
205
+
206
+ --access_key_id ID AWS Access Key ID (type: string, required)
207
+ --secret_access_key KEY AWS Secret Key (type: string, required)
208
+ --region REGION AWS Region to deploy to (type: string, default: us-east-1)
209
+ --template STR CloudFormation template file (type: string, required, note: can be either a
210
+ local path or an S3 URL)
211
+ --stack_name NAME CloudFormation Stack Name. (type: string, required)
212
+ --stack_name_prefix STR CloudFormation Stack Name Prefix. (type: string)
213
+ --[no-]promote Deploy changes (default: true, note: otherwise a change set is created)
214
+ --role_arn ARN AWS Role ARN (type: string)
215
+ --sts_assume_role ARN AWS Role ARN for cross account deployments (assumed by travis using given AWS
216
+ credentials). (type: string)
217
+ --capabilities STR CloudFormation allowed capabilities (type: array (string, can be given multiple
218
+ times), known values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM,
219
+ CAPABILITY_AUTO_EXPAND, see:
220
+ https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)
221
+ --[no-]wait Wait for CloutFormation to finish the stack creation and update (default: true)
222
+ --wait_timeout SEC How many seconds to wait for stack creation and update. (type: integer, default:
223
+ 3600)
224
+ --create_timeout SEC How many seconds to wait before the stack status becomes CREATE_FAILED (type:
225
+ integer, default: 3600, note: valid only when creating a stack)
226
+ --parameters STR key=value pairs or ENV var names (type: array (string, can be given multiple
227
+ times))
228
+ --output_file PATH Path to output file to store CloudFormation outputs to (type: string)
229
+
230
+ Common Options:
231
+
232
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
233
+ --run CMD Commands to execute after the deployment finished successfully (type: array
234
+ (string, can be given multiple times))
235
+ --help Get help on this command
236
+
237
+ Examples:
238
+
239
+ dpl cloudformation --access_key_id id --secret_access_key key --template str --stack_name name
240
+ dpl cloudformation --access_key_id id --secret_access_key key --template str --stack_name name --region region
241
+ ```
242
+
243
+ Options can be given via env vars if prefixed with `[AWS_|CLOUDFORMATION_]`. E.g. the option
244
+ `--access_key_id` can be given as `AWS_ACCESS_KEY_ID=<access_key_id>` or
245
+ `CLOUDFORMATION_ACCESS_KEY_ID=<access_key_id>`.
246
+
247
+ ### AWS Code Deploy
248
+
249
+
250
+
251
+ ```
252
+ Usage: dpl codedeploy [options]
253
+
254
+ Summary:
255
+
256
+ AWS Code Deploy deployment provider
257
+
258
+ Description:
259
+
260
+ tbd
261
+
262
+ Options:
263
+
264
+ --access_key_id ID AWS access key (type: string, required)
265
+ --secret_access_key KEY AWS secret access key (type: string, required)
266
+ --application NAME CodeDeploy application name (type: string, required)
267
+ --deployment_group GROUP CodeDeploy deployment group name (type: string)
268
+ --revision_type TYPE CodeDeploy revision type (type: string, known values: s3, github, downcases)
269
+ --commit_id SHA Commit ID in case of GitHub (type: string)
270
+ --repository NAME Repository name in case of GitHub (type: string)
271
+ --bucket NAME S3 bucket in case of S3 (type: string)
272
+ --region REGION AWS availability zone (type: string, default: us-east-1)
273
+ --file_exists_behavior STR How to handle files that already exist in a deployment target location (type:
274
+ string, default: disallow, known values: disallow, overwrite, retain)
275
+ --[no-]wait_until_deployed Wait until the deployment has finished
276
+ --bundle_type TYPE Bundle type of the revision (type: string)
277
+ --key KEY S3 bucket key of the revision (type: string)
278
+ --description DESCR Description of the revision (type: string)
279
+ --endpoint ENDPOINT S3 endpoint url (type: string)
280
+
281
+ Common Options:
282
+
283
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
284
+ --run CMD Commands to execute after the deployment finished successfully (type: array
285
+ (string, can be given multiple times))
286
+ --help Get help on this command
287
+
288
+ Examples:
289
+
290
+ dpl codedeploy --access_key_id id --secret_access_key key --application name
291
+ dpl codedeploy --access_key_id id --secret_access_key key --application name --deployment_group group --revision_type s3
292
+ ```
293
+
294
+ Options can be given via env vars if prefixed with `[AWS_|CODEDEPLOY_]`. E.g. the option
295
+ `--access_key_id` can be given as `AWS_ACCESS_KEY_ID=<access_key_id>` or
296
+ `CODEDEPLOY_ACCESS_KEY_ID=<access_key_id>`.
297
+
298
+ 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`
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
+
346
+ ### AWS Elastic Beanstalk
347
+
348
+
349
+
350
+ ```
351
+ Usage: dpl elasticbeanstalk [options]
352
+
353
+ Summary:
354
+
355
+ AWS Elastic Beanstalk deployment provider
356
+
357
+ Description:
358
+
359
+ Deploy to AWS Elastic Beanstalk: https://aws.amazon.com/elasticbeanstalk/
360
+
361
+ This provider:
362
+
363
+ * Creates a zip file (or uses one you provide)
364
+ * Uploads it to your EB application
365
+ * Optionally deploys to a specific EB environment
366
+ * Optionally waits until the deployment finishes
367
+
368
+ Options:
369
+
370
+ --access_key_id ID AWS Access Key ID (type: string, required)
371
+ --secret_access_key KEY AWS Secret Key (type: string, required)
372
+ --region REGION AWS Region the Elastic Beanstalk app is running in (type: string, default:
373
+ us-east-1)
374
+ --app NAME Elastic Beanstalk application name (type: string, default: repo name)
375
+ --env NAME Elastic Beanstalk environment name to be updated. (type: string)
376
+ --bucket NAME Bucket name to upload app to (type: string, required, alias: bucket_name)
377
+ --bucket_path PATH Location within Bucket to upload app to (type: string)
378
+ --description DESC Description for the application version (type: string)
379
+ --label LABEL Label for the application version (type: string)
380
+ --zip_file PATH The zip file that you want to deploy. If not given, a zipfile will be created
381
+ from the current directory, honoring .ebignore and .gitignore. (type: string)
382
+ --[no-]wait_until_deployed Wait until the deployment has finished (requires: env)
383
+ --wait_until_deployed_timeout SEC How many seconds to wait for Elastic Beanstalk deployment update. (type:
384
+ integer, default: 600)
385
+
386
+ Common Options:
387
+
388
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
389
+ --run CMD Commands to execute after the deployment finished successfully (type: array
390
+ (string, can be given multiple times))
391
+ --help Get help on this command
392
+
393
+ Examples:
394
+
395
+ dpl elasticbeanstalk --access_key_id id --secret_access_key key --bucket name
396
+ dpl elasticbeanstalk --access_key_id id --secret_access_key key --bucket name --region region --app name
397
+ ```
398
+
399
+ Options can be given via env vars if prefixed with `[AWS_|ELASTIC_BEANSTALK_]`. E.g. the option
400
+ `--access_key_id` can be given as `AWS_ACCESS_KEY_ID=<access_key_id>` or
401
+ `ELASTIC_BEANSTALK_ACCESS_KEY_ID=<access_key_id>`.
402
+
403
+ ### AWS Lambda
404
+
405
+
406
+
407
+ ```
408
+ Usage: dpl lambda [options]
409
+
410
+ Summary:
411
+
412
+ AWS Lambda deployment provider
413
+
414
+ Description:
415
+
416
+ tbd
417
+
418
+ Options:
419
+
420
+ --access_key_id ID AWS access key id (type: string, required)
421
+ --secret_access_key KEY AWS secret key (type: string, required)
422
+ --region REGION AWS region the Lambda function is running in (type: string, default: us-east-1)
423
+ --function_name FUNC Name of the Lambda being created or updated (type: string, required)
424
+ --role ROLE ARN of the IAM role to assign to the Lambda function (type: string, note:
425
+ required when creating a new function)
426
+ --handler_name NAME Function the Lambda calls to begin execution. (type: string, note: required when
427
+ creating a new function)
428
+ --module_name NAME Name of the module that exports the handler (type: string, requires:
429
+ handler_name, default: index)
430
+ --description DESCR Description of the Lambda being created or updated (type: string)
431
+ --timeout SECS Function execution time (in seconds) at which Lambda should terminate the
432
+ function (type: string, default: 3)
433
+ --memory_size MB Amount of memory in MB to allocate to this Lambda (type: string, default: 128)
434
+ --subnet_ids IDS List of subnet IDs to be added to the function (type: array (string, can be
435
+ given multiple times), note: Needs the ec2:DescribeSubnets and ec2:DescribeVpcs
436
+ permission for the user of the access/secret key to work)
437
+ --security_group_ids IDS List of security group IDs to be added to the function (type: array (string, can
438
+ be given multiple times), note: Needs the ec2:DescribeSecurityGroups and
439
+ ec2:DescribeVpcs permission for the user of the access/secret key to work)
440
+ --environment VARS List of Environment Variables to add to the function (type: array (string, can
441
+ be given multiple times), alias: environment_variables, format: /[\w\-]+=.+/,
442
+ note: Can be encrypted for added security)
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)
447
+ --dead_letter_arn ARN ARN to an SNS or SQS resource used for the dead letter queue. (type: string)
448
+ --kms_key_arn ARN KMS key ARN to use to encrypt environment_variables. (type: string)
449
+ --tracing_mode MODE Tracing mode (type: string, default: PassThrough, known values: Active,
450
+ PassThrough, note: Needs xray:PutTraceSegments xray:PutTelemetryRecords on the
451
+ role)
452
+ --layers LAYERS Function layer arns (type: array (string, can be given multiple times))
453
+ --function_tags TAGS List of tags to add to the function (type: array (string, can be given multiple
454
+ times), format: /[\w\-]+=.+/, note: Can be encrypted for added security)
455
+ --[no-]publish Create a new version of the code instead of replacing the existing one.
456
+ --zip PATH Path to a packaged Lambda, a directory to package, or a single file to package
457
+ (type: string, default: .)
458
+ --[no-]dot_match Include hidden .* files to the zipped archive
459
+
460
+ Common Options:
461
+
462
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
463
+ --run CMD Commands to execute after the deployment finished successfully (type: array
464
+ (string, can be given multiple times))
465
+ --help Get help on this command
466
+
467
+ Examples:
468
+
469
+ dpl lambda --access_key_id id --secret_access_key key --function_name func
470
+ dpl lambda --access_key_id id --secret_access_key key --function_name func --region region --role role
471
+ ```
472
+
473
+ Options can be given via env vars if prefixed with `[AWS_|LAMBDA_]`. E.g. the option
474
+ `--access_key_id` can be given as `AWS_ACCESS_KEY_ID=<access_key_id>` or
475
+ `LAMBDA_ACCESS_KEY_ID=<access_key_id>`.
476
+
477
+ The following variable are availabe for interpolation on `description`:
478
+
479
+ `dead_letter_arn`, `function_name`, `git_author_email`, `git_author_name`, `git_branch`, `git_commit_author`, `git_commit_msg`, `git_sha`, `git_tag`, `handler_name`, `kms_key_arn`, `memory_size`, `module_name`, `region`, `role`, `runtime`, `timeout`, `tracing_mode`, `zip`
480
+
481
+
482
+ ### AWS OpsWorks
483
+
484
+
485
+
486
+ ```
487
+ Usage: dpl opsworks [options]
488
+
489
+ Summary:
490
+
491
+ AWS OpsWorks deployment provider
492
+
493
+ Description:
494
+
495
+ tbd
496
+
497
+ Options:
498
+
499
+ --access_key_id ID AWS access key id (type: string, required)
500
+ --secret_access_key KEY AWS secret key (type: string, required)
501
+ --app_id APP The app id (type: string, required)
502
+ --region REGION AWS region (type: string, default: us-east-1)
503
+ --instance_ids ID An instance id (type: array (string, can be given multiple times))
504
+ --layer_ids ID A layer id (type: array (string, can be given multiple times))
505
+ --[no-]migrate Migrate the database.
506
+ --[no-]wait_until_deployed Wait until the app is deployed and return the deployment status.
507
+ --[no-]update_on_success When wait-until-deployed and updated-on-success are both not given, application
508
+ source is updated to the current SHA. Ignored when wait-until-deployed is not
509
+ given. (alias: update_app_on_success)
510
+ --custom_json JSON Custom json options override (overwrites default configuration) (type: string)
511
+
512
+ Common Options:
513
+
514
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
515
+ --run CMD Commands to execute after the deployment finished successfully (type: array
516
+ (string, can be given multiple times))
517
+ --help Get help on this command
518
+
519
+ Examples:
520
+
521
+ dpl opsworks --access_key_id id --secret_access_key key --app_id app
522
+ dpl opsworks --access_key_id id --secret_access_key key --app_id app --region region --instance_ids id
523
+ ```
524
+
525
+ Options can be given via env vars if prefixed with `[AWS_|OPSWORKS_]`. E.g. the option
526
+ `--access_key_id` can be given as `AWS_ACCESS_KEY_ID=<access_key_id>` or
527
+ `OPSWORKS_ACCESS_KEY_ID=<access_key_id>`.
528
+
529
+ ### AWS S3
530
+
531
+
532
+
533
+ ```
534
+ Usage: dpl s3 [options]
535
+
536
+ Summary:
537
+
538
+ AWS S3 deployment provider
539
+
540
+ Description:
541
+
542
+ tbd
543
+
544
+ Options:
545
+
546
+ --access_key_id ID AWS access key id (type: string, required)
547
+ --secret_access_key KEY AWS secret key (type: string, required)
548
+ --bucket BUCKET S3 bucket (type: string, required)
549
+ --region REGION S3 region (type: string, default: us-east-1)
550
+ --endpoint URL S3 endpoint (type: string)
551
+ --upload_dir DIR S3 directory to upload to (type: string)
552
+ --local_dir DIR Local directory to upload from (type: string, default: ., e.g.: ~/travis/build
553
+ (absolute path) or ./build (relative path))
554
+ --glob GLOB Files to upload (type: string, default: **/*)
555
+ --[no-]dot_match Upload hidden files starting with a dot
556
+ --acl ACL Access control for the uploaded objects (type: string, default: private, known
557
+ values: private, public_read, public_read_write, authenticated_read,
558
+ bucket_owner_read, bucket_owner_full_control)
559
+ --[no-]detect_encoding HTTP header Content-Encoding for files compressed with gzip and compress
560
+ utilities
561
+ --cache_control STR HTTP header Cache-Control to suggest that the browser cache the file (type:
562
+ array (string, can be given multiple times), default: no-cache, known values:
563
+ /^no-cache.*/, /^no-store.*/, /^max-age=\d+.*/, /^s-maxage=\d+.*/,
564
+ /^no-transform/, /^public/, /^private/, note: accepts mapping values to globs)
565
+ --expires DATE Date and time that the cached object expires (type: array (string, can be given
566
+ multiple times), format: /^"?\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} .+"?.*$/, note:
567
+ accepts mapping values to globs)
568
+ --default_text_charset CHARSET Default character set to append to the content-type of text files (type: string)
569
+ --storage_class CLASS S3 storage class to upload as (type: string, default: STANDARD, known values:
570
+ STANDARD, STANDARD_IA, REDUCED_REDUNDANCY)
571
+ --[no-]server_side_encryption Use S3 Server Side Encryption (SSE-AES256)
572
+ --index_document_suffix SUFFIX Index document suffix of a S3 website (type: string)
573
+ --[no-]overwrite Whether or not to overwrite existing files (default: true)
574
+ --[no-]force_path_style Whether to force keeping the bucket name on the path
575
+ --max_threads NUM The number of threads to use for S3 file uploads (type: integer, default: 5,
576
+ max: 15)
577
+ --[no-]verbose Be verbose about uploading files
578
+
579
+ Common Options:
580
+
581
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
582
+ --run CMD Commands to execute after the deployment finished successfully (type: array
583
+ (string, can be given multiple times))
584
+ --help Get help on this command
585
+
586
+ Examples:
587
+
588
+ dpl s3 --access_key_id id --secret_access_key key --bucket bucket
589
+ dpl s3 --access_key_id id --secret_access_key key --bucket bucket --region region --endpoint url
590
+ ```
591
+
592
+ Options can be given via env vars if prefixed with `[AWS_|S3_]`. E.g. the option `--access_key_id`
593
+ can be given as `AWS_ACCESS_KEY_ID=<access_key_id>` or `S3_ACCESS_KEY_ID=<access_key_id>`.
594
+
595
+ ### Azure Web Apps
596
+
597
+ Support for deployments to Azure Web Apps is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
598
+
599
+ ```
600
+ Usage: dpl azure_web_apps [options]
601
+
602
+ Summary:
603
+
604
+ Azure Web Apps deployment provider
605
+
606
+ Description:
607
+
608
+ tbd
609
+
610
+ Options:
611
+
612
+ --username NAME Web App Deployment Username (type: string, required)
613
+ --password PASS Web App Deployment Password (type: string, required)
614
+ --site SITE Web App name (e.g. myapp in myapp.azurewebsites.net) (type: string, required)
615
+ --slot SLOT Slot name (if your app uses staging deployment) (type: string)
616
+ --[no-]verbose Print deployment output from Azure. Warning: If authentication fails, Git prints
617
+ credentials in clear text. Correct credentials remain hidden.
618
+
619
+ Common Options:
620
+
621
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
622
+ --run CMD Commands to execute after the deployment finished successfully (type: array
623
+ (string, can be given multiple times))
624
+ --help Get help on this command
625
+
626
+ Examples:
627
+
628
+ dpl azure_web_apps --username name --password pass --site site
629
+ dpl azure_web_apps --username name --password pass --site site --slot slot --verbose
630
+ ```
631
+
632
+ Options can be given via env vars if prefixed with `AZURE_WA_`. E.g. the option `--password` can be
633
+ given as `AZURE_WA_PASSWORD=<password>`.
634
+
635
+ ### Bintray
636
+
637
+
638
+
639
+ ```
640
+ Usage: dpl bintray [options]
641
+
642
+ Summary:
643
+
644
+ Bintray deployment provider
645
+
646
+ Description:
647
+
648
+ tbd
649
+
650
+ Options:
651
+
652
+ --user USER Bintray user (type: string, required)
653
+ --key KEY Bintray API key (type: string, required)
654
+ --file FILE Path to a descriptor file for the Bintray upload (type: string, required)
655
+ --passphrase PHRASE Passphrase as configured on Bintray (if GPG signing is used) (type: string)
656
+
657
+ Common Options:
658
+
659
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
660
+ --run CMD Commands to execute after the deployment finished successfully (type: array
661
+ (string, can be given multiple times))
662
+ --help Get help on this command
663
+
664
+ Examples:
665
+
666
+ dpl bintray --user user --key key --file file
667
+ dpl bintray --user user --key key --file file --passphrase phrase --cleanup
668
+ ```
669
+
670
+ Options can be given via env vars if prefixed with `BINTRAY_`. E.g. the option `--key` can be given
671
+ as `BINTRAY_KEY=<key>`.
672
+
673
+ ### Bluemix Cloud Foundry
674
+
675
+
676
+
677
+ ```
678
+ Usage: dpl bluemixcloudfoundry [options]
679
+
680
+ Summary:
681
+
682
+ Bluemix Cloud Foundry deployment provider
683
+
684
+ Description:
685
+
686
+ tbd
687
+
688
+ Options:
689
+
690
+ --username USER Bluemix username (type: string, required)
691
+ --password PASS Bluemix password (type: string, required)
692
+ --organization ORG Bluemix organization (type: string, required)
693
+ --space SPACE Bluemix space (type: string, required)
694
+ --region REGION Bluemix region (type: string, default: ng, known values: ng, eu-gb, eu-de,
695
+ au-syd)
696
+ --api URL Bluemix api URL (type: string)
697
+ --app_name APP Application name (type: string)
698
+ --buildpack PACK Buildpack name or Git URL (type: string)
699
+ --manifest FILE Path to the manifest (type: string)
700
+ --[no-]skip_ssl_validation Skip SSL validation
701
+
702
+ Common Options:
703
+
704
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
705
+ --run CMD Commands to execute after the deployment finished successfully (type: array
706
+ (string, can be given multiple times))
707
+ --help Get help on this command
708
+
709
+ Examples:
710
+
711
+ dpl bluemixcloudfoundry --username user --password pass --organization org --space space
712
+ dpl bluemixcloudfoundry --username user --password pass --organization org --space space --region ng
713
+ ```
714
+
715
+ Options can be given via env vars if prefixed with `CLOUDFOUNDRY_`. E.g. the option `--password` can
716
+ be given as `CLOUDFOUNDRY_PASSWORD=<password>`.
717
+
718
+ ### Boxfuse
719
+
720
+ Support for deployments to Boxfuse is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
721
+
722
+ ```
723
+ Usage: dpl boxfuse [options]
724
+
725
+ Summary:
726
+
727
+ Boxfuse deployment provider
728
+
729
+ Description:
730
+
731
+ tbd
732
+
733
+ Options:
734
+
735
+ --user USER type: string, required
736
+ --secret SECRET type: string, required
737
+ --payload PAYLOAD type: string
738
+ --app APP type: string
739
+ --version VERSION type: string
740
+ --env ENV type: string
741
+ --config_file FILE type: string, alias: configfile (deprecated, please use config_file)
742
+ --extra_args ARGS type: string
743
+
744
+ Common Options:
745
+
746
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
747
+ --run CMD Commands to execute after the deployment finished successfully (type: array
748
+ (string, can be given multiple times))
749
+ --help Get help on this command
750
+
751
+ Examples:
752
+
753
+ dpl boxfuse --user user --secret secret
754
+ dpl boxfuse --user user --secret secret --payload payload --app app --version version
755
+ ```
756
+
757
+ Options can be given via env vars if prefixed with `BOXFUSE_`. E.g. the option `--secret` can be
758
+ given as `BOXFUSE_SECRET=<secret>`.
759
+
760
+ ### Cargo
761
+
762
+
763
+
764
+ ```
765
+ Usage: dpl cargo [options]
766
+
767
+ Summary:
768
+
769
+ Cargo deployment provider
770
+
771
+ Description:
772
+
773
+ tbd
774
+
775
+ Options:
776
+
777
+ --token TOKEN Cargo registry API token (type: string, required)
778
+ --[no-]allow_dirty Allow publishing from a dirty git working directory
779
+
780
+ Common Options:
781
+
782
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
783
+ --run CMD Commands to execute after the deployment finished successfully (type: array
784
+ (string, can be given multiple times))
785
+ --help Get help on this command
786
+
787
+ Examples:
788
+
789
+ dpl cargo --token token
790
+ dpl cargo --token token --allow_dirty --cleanup --run cmd
791
+ ```
792
+
793
+ Options can be given via env vars if prefixed with `CARGO_`. E.g. the option `--token` can be given
794
+ as `CARGO_TOKEN=<token>`.
795
+
796
+ ### Chef Supermarket
797
+
798
+ Support for deployments to Chef Supermarket is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
799
+
800
+ ```
801
+ Usage: dpl chef_supermarket [options]
802
+
803
+ Summary:
804
+
805
+ Chef Supermarket deployment provider
806
+
807
+ Description:
808
+
809
+ tbd
810
+
811
+ Options:
812
+
813
+ --user_id ID Chef Supermarket user name (type: string, required)
814
+ --name NAME Cookbook name (type: string, alias: cookbook_name (deprecated, please use name),
815
+ note: defaults to the name given in metadata.json or metadata.rb)
816
+ --category CAT Cookbook category in Supermarket (type: string, required, alias:
817
+ cookbook_category (deprecated, please use category), see:
818
+ https://docs.getchef.com/knife_cookbook_site.html#id12)
819
+ --client_key KEY Client API key file name (type: string, default: client.pem)
820
+ --dir DIR Directory containing the cookbook (type: string, default: .)
821
+
822
+ Common Options:
823
+
824
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
825
+ --run CMD Commands to execute after the deployment finished successfully (type: array
826
+ (string, can be given multiple times))
827
+ --help Get help on this command
828
+
829
+ Examples:
830
+
831
+ dpl chef_supermarket --user_id id --category cat
832
+ dpl chef_supermarket --user_id id --category cat --name name --client_key key --dir dir
833
+ ```
834
+
835
+ Options can be given via env vars if prefixed with `CHEF_`.
836
+
837
+ ### Cloud Files
838
+
839
+ Support for deployments to Cloud Files is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
840
+
841
+ ```
842
+ Usage: dpl cloudfiles [options]
843
+
844
+ Summary:
845
+
846
+ Cloud Files deployment provider
847
+
848
+ Description:
849
+
850
+ tbd
851
+
852
+ Options:
853
+
854
+ --username USER Rackspace username (type: string, required)
855
+ --api_key KEY Rackspace API key (type: string, required)
856
+ --region REGION Cloudfiles region (type: string, required, known values: ord, dfw, syd, iad,
857
+ hkg)
858
+ --container NAME Name of the container that files will be uploaded to (type: string, required)
859
+ --glob GLOB Paths to upload (type: string, default: **/*)
860
+ --[no-]dot_match Upload hidden files starting a dot
861
+
862
+ Common Options:
863
+
864
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
865
+ --run CMD Commands to execute after the deployment finished successfully (type: array
866
+ (string, can be given multiple times))
867
+ --help Get help on this command
868
+
869
+ Examples:
870
+
871
+ dpl cloudfiles --username user --api_key key --region ord --container name
872
+ dpl cloudfiles --username user --api_key key --region ord --container name --glob glob
873
+ ```
874
+
875
+ Options can be given via env vars if prefixed with `CLOUDFILES_`. E.g. the option `--api_key` can be
876
+ given as `CLOUDFILES_API_KEY=<api_key>`.
877
+
878
+ ### Cloud Foundry
879
+
880
+
881
+
882
+ ```
883
+ Usage: dpl cloudfoundry [options]
884
+
885
+ Summary:
886
+
887
+ Cloud Foundry deployment provider
888
+
889
+ Description:
890
+
891
+ tbd
892
+
893
+ Options:
894
+
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
906
+
907
+ Common Options:
908
+
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
913
+
914
+ Examples:
915
+
916
+ dpl cloudfoundry --username user --password pass --organization org --space space
917
+ dpl cloudfoundry --username user --password pass --organization org --space space --api url
918
+ ```
919
+
920
+ Options can be given via env vars if prefixed with `CLOUDFOUNDRY_`. E.g. the option `--password` can
921
+ be given as `CLOUDFOUNDRY_PASSWORD=<password>`.
922
+
923
+ ### Cloud66
924
+
925
+ Support for deployments to Cloud66 is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
926
+
927
+ ```
928
+ Usage: dpl cloud66 [options]
929
+
930
+ Summary:
931
+
932
+ Cloud66 deployment provider
933
+
934
+ Description:
935
+
936
+ tbd
937
+
938
+ Options:
939
+
940
+ --redeployment_hook URL The redeployment hook URL (type: string, required)
941
+
942
+ Common Options:
943
+
944
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
945
+ --run CMD Commands to execute after the deployment finished successfully (type: array
946
+ (string, can be given multiple times))
947
+ --help Get help on this command
948
+
949
+ Examples:
950
+
951
+ dpl cloud66 --redeployment_hook url
952
+ dpl cloud66 --redeployment_hook url --cleanup --run cmd
953
+ ```
954
+
955
+ Options can be given via env vars if prefixed with `CLOUD66_`. E.g. the option `--redeployment_hook`
956
+ can be given as `CLOUD66_REDEPLOYMENT_HOOK=<redeployment_hook>`.
957
+
958
+ ### Convox
959
+
960
+ Support for deployments to Convox is in **development**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
961
+
962
+ ```
963
+ Usage: dpl convox [options]
964
+
965
+ Summary:
966
+
967
+ Convox deployment provider
968
+
969
+ Description:
970
+
971
+ tbd
972
+
973
+ Options:
974
+
975
+ --host HOST type: string, default: console.convox.com
976
+ --app APP type: string, required
977
+ --rack RACK type: string, required
978
+ --password PASS type: string, required
979
+ --install_url URL type: string, default: https://convox.com/cli/linux/convox
980
+ --[no-]update_cli
981
+ --[no-]create
982
+ --[no-]promote default: true
983
+ --env_names VARS type: array (string, can be given multiple times)
984
+ --env VARS type: array (string, can be given multiple times)
985
+ --env_file FILE type: string
986
+ --description STR type: string
987
+ --generation NUM type: integer, default: 2
988
+ --prepare CMDS Run commands with convox cli available just before deployment (type: array
989
+ (string, can be given multiple times))
990
+
991
+ Common Options:
992
+
993
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
994
+ --run CMD Commands to execute after the deployment finished successfully (type: array
995
+ (string, can be given multiple times))
996
+ --help Get help on this command
997
+
998
+ Examples:
999
+
1000
+ dpl convox --app app --rack rack --password pass
1001
+ dpl convox --app app --rack rack --password pass --host host --install_url url
1002
+ ```
1003
+
1004
+ Options can be given via env vars if prefixed with `CONVOX_`.
1005
+
1006
+ ### Datica
1007
+
1008
+ Support for deployments to Datica is in **development**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1009
+
1010
+ ```
1011
+ Usage: dpl datica [options]
1012
+ or: dpl catalyze [options]
1013
+
1014
+ Summary:
1015
+
1016
+ Datica deployment provider
1017
+
1018
+ Description:
1019
+
1020
+ tbd
1021
+
1022
+ Options:
1023
+
1024
+ --target TARGET The git remote repository to deploy to (type: string, required)
1025
+ --path PATH Path to files to deploy (type: string, default: .)
1026
+
1027
+ Common Options:
1028
+
1029
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1030
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1031
+ (string, can be given multiple times))
1032
+ --help Get help on this command
1033
+
1034
+ Examples:
1035
+
1036
+ dpl datica --target target
1037
+ dpl datica --target target --path path --cleanup --run cmd
1038
+ ```
1039
+
1040
+ Options can be given via env vars if prefixed with `[CATALYZE_|DATICA_]`.
1041
+
1042
+ ### Engineyard
1043
+
1044
+ Support for deployments to Engineyard is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1045
+
1046
+ ```
1047
+ Usage: dpl engineyard [options]
1048
+
1049
+ Summary:
1050
+
1051
+ Engineyard deployment provider
1052
+
1053
+ Description:
1054
+
1055
+ tbd
1056
+
1057
+ Options:
1058
+
1059
+ Either api_key, or email and password are required.
1060
+
1061
+ --api_key KEY Engine Yard API key (type: string, note: can be obtained at
1062
+ https://cloud.engineyard.com/cli)
1063
+ --email EMAIL Engine Yard account email (type: string)
1064
+ --password PASS Engine Yard password (type: string)
1065
+ --app APP Engine Yard application name (type: string, default: repo name)
1066
+ --env ENV Engine Yard application environment (type: string, alias: environment)
1067
+ --migrate CMD Engine Yard migration commands (type: string)
1068
+ --account NAME Engine Yard account name (type: string)
1069
+
1070
+ Common Options:
1071
+
1072
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1073
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1074
+ (string, can be given multiple times))
1075
+ --help Get help on this command
1076
+
1077
+ Examples:
1078
+
1079
+ dpl engineyard --api_key key
1080
+ dpl engineyard --email email --password pass
1081
+ dpl engineyard --api_key key --app app --env env --migrate cmd --account name
1082
+ ```
1083
+
1084
+ Options can be given via env vars if prefixed with `[ENGINEYARD_|EY_]`. E.g. the option `--api_key`
1085
+ can be given as `ENGINEYARD_API_KEY=<api_key>` or `EY_API_KEY=<api_key>`.
1086
+
1087
+ ### Firebase
1088
+
1089
+
1090
+
1091
+ ```
1092
+ Usage: dpl firebase [options]
1093
+
1094
+ Summary:
1095
+
1096
+ Firebase deployment provider
1097
+
1098
+ Description:
1099
+
1100
+ tbd
1101
+
1102
+ Options:
1103
+
1104
+ --token TOKEN Firebase CI access token (generate with firebase login:ci) (type: string,
1105
+ required)
1106
+ --project NAME Firebase project to deploy to (defaults to the one specified in your
1107
+ firebase.json) (type: string)
1108
+ --message MSG Message describing this deployment. (type: string)
1109
+ --only SERVICES Firebase services to deploy (type: string, note: can be a comma-separated list)
1110
+ --[no-]force Whether or not to delete Cloud Functions missing from the current working
1111
+ directory
1112
+
1113
+ Common Options:
1114
+
1115
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1116
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1117
+ (string, can be given multiple times))
1118
+ --help Get help on this command
1119
+
1120
+ Examples:
1121
+
1122
+ dpl firebase --token token
1123
+ dpl firebase --token token --project name --message msg --only services --force
1124
+ ```
1125
+
1126
+ Options can be given via env vars if prefixed with `FIREBASE_`. E.g. the option `--token` can be
1127
+ given as `FIREBASE_TOKEN=<token>`.
1128
+
1129
+ ### Flynn
1130
+
1131
+ Support for deployments to Flynn is in **development**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1132
+
1133
+ ```
1134
+ Usage: dpl flynn [options]
1135
+
1136
+ Summary:
1137
+
1138
+ Flynn deployment provider
1139
+
1140
+ Description:
1141
+
1142
+ Flynn provider for Dpl
1143
+
1144
+ Options:
1145
+
1146
+ --git URL Flynn Git remote URL (type: string, required)
1147
+
1148
+ Common Options:
1149
+
1150
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1151
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1152
+ (string, can be given multiple times))
1153
+ --help Get help on this command
1154
+
1155
+ Examples:
1156
+
1157
+ dpl flynn --git url
1158
+ dpl flynn --git url --cleanup --run cmd
1159
+ ```
1160
+
1161
+
1162
+
1163
+ ### Git (push)
1164
+
1165
+ Support for deployments to Git (push) is in **development**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1166
+
1167
+ ```
1168
+ Usage: dpl git_push [options]
1169
+
1170
+ Summary:
1171
+
1172
+ Git (push) deployment provider
1173
+
1174
+ Description:
1175
+
1176
+ Experimental, generic provider for updating a Git remote branch with
1177
+ changes produced by the build, and optionally opening a pull request.
1178
+
1179
+ Options:
1180
+
1181
+ Either token, or deploy_key and name and email are required.
1182
+
1183
+ --repo SLUG Repo slug (type: string, default: repo slug)
1184
+ --token TOKEN GitHub token with repo permission (type: string, alias: github_token)
1185
+ --deploy_key PATH Path to a file containing a private deploy key with write access to the
1186
+ repository (type: string, see:
1187
+ https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys)
1188
+ --branch BRANCH Target branch to push to (type: string, required)
1189
+ --base_branch BRANCH Base branch to branch off initially, and (optionally) create a pull request for
1190
+ (type: string, default: master)
1191
+ --name NAME Committer name (type: string, note: defaults to the GitHub name or login
1192
+ associated with the GitHub token)
1193
+ --email EMAIL Committer email (type: string, note: defaults to the GitHub email associated
1194
+ with the GitHub token)
1195
+ --commit_message MSG type: string, default: Update %{base_branch}
1196
+ --[no-]allow_empty_commit Allow an empty commit to be created
1197
+ --[no-]force Whether to push --force (default: false)
1198
+ --local_dir DIR Local directory to push (type: string, default: .)
1199
+ --[no-]pull_request Whether to create a pull request for the given branch
1200
+ --[no-]allow_same_branch Whether to allow pushing to the same branch as the current branch (default:
1201
+ false, note: setting this to true risks creating infinite build loops, use
1202
+ conditional builds or other mechanisms to prevent build from infinitely
1203
+ triggering more builds)
1204
+ --host HOST type: string, default: github.com
1205
+ --[no-]enterprise Whether to use a GitHub Enterprise API style URL
1206
+
1207
+ Common Options:
1208
+
1209
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1210
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1211
+ (string, can be given multiple times))
1212
+ --help Get help on this command
1213
+
1214
+ Examples:
1215
+
1216
+ dpl git_push --branch branch --token token
1217
+ dpl git_push --branch branch --deploy_key path --name name --email email
1218
+ dpl git_push --branch branch
1219
+ dpl git_push --branch branch --token token --repo slug --base_branch branch --commit_message msg
1220
+ ```
1221
+
1222
+ Options can be given via env vars if prefixed with `[GITHUB_|GIT_]`. E.g. the option `--token` can
1223
+ be given as `GITHUB_TOKEN=<token>` or `GIT_TOKEN=<token>`.
1224
+
1225
+ The following variable are availabe for interpolation on `commit_message`:
1226
+
1227
+ `base_branch`, `branch`, `deploy_key`, `email`, `git_author_email`, `git_author_name`, `git_branch`, `git_commit_author`, `git_commit_msg`, `git_sha`, `git_tag`, `host`, `local_dir`, `name`, `repo`
1228
+
1229
+
1230
+ ### GitHub Pages
1231
+
1232
+
1233
+
1234
+ ```
1235
+ Usage: dpl pages git [options]
1236
+
1237
+ Summary:
1238
+
1239
+ GitHub Pages deployment provider
1240
+
1241
+ Description:
1242
+
1243
+ tbd
1244
+
1245
+ Options:
1246
+
1247
+ Either token, or deploy_key are required.
1248
+
1249
+ --repo SLUG Repo slug (type: string, default: repo slug)
1250
+ --token TOKEN GitHub token with repo permission (type: string, alias: github_token)
1251
+ --deploy_key PATH Path to a file containing a private deploy key with write access to the
1252
+ repository (type: string, see:
1253
+ https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys)
1254
+ --target_branch BRANCH Branch to push force to (type: string, default: gh-pages)
1255
+ --[no-]keep_history Create incremental commit instead of doing push force (default: true)
1256
+ --commit_message MSG type: string, default: Deploy %{project_name} to %{url}:%{target_branch}
1257
+ --[no-]allow_empty_commit Allow an empty commit to be created (requires: keep_history)
1258
+ --[no-]verbose Be verbose about the deploy process
1259
+ --local_dir DIR Directory to push to GitHub Pages (type: string, default: .)
1260
+ --fqdn FQDN Write the given domain name to the CNAME file (type: string)
1261
+ --project_name NAME Used in the commit message only (defaults to fqdn or the current repo slug)
1262
+ (type: string)
1263
+ --name NAME Committer name (type: string, note: defaults to the current git commit author
1264
+ name)
1265
+ --email EMAIL Committer email (type: string, note: defaults to the current git commit author
1266
+ email)
1267
+ --[no-]committer_from_gh Use the token's owner name and email for the commit (requires: token)
1268
+ --[no-]deployment_file Enable creation of a deployment-info file
1269
+ --url URL type: string, alias: github_url, default: github.com
1270
+
1271
+ Common Options:
1272
+
1273
+ --strategy NAME GitHub Pages deployment strategy (type: string, default: git, known values: api,
1274
+ git)
1275
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1276
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1277
+ (string, can be given multiple times))
1278
+ --help Get help on this command
1279
+
1280
+ Examples:
1281
+
1282
+ dpl pages git --token token
1283
+ dpl pages git --deploy_key path
1284
+ dpl pages git --token token --repo slug --target_branch branch --keep_history --commit_message msg
1285
+ ```
1286
+
1287
+ Options can be given via env vars if prefixed with `[GITHUB_|PAGES_]`. E.g. the option `--token` can
1288
+ be given as `GITHUB_TOKEN=<token>` or `PAGES_TOKEN=<token>`.
1289
+
1290
+ The following variable are availabe for interpolation on `commit_message`:
1291
+
1292
+ `deploy_key`, `email`, `fqdn`, `git_author_email`, `git_author_name`, `git_branch`, `git_commit_author`, `git_commit_msg`, `git_sha`, `git_tag`, `local_dir`, `name`, `project_name`, `repo`, `target_branch`, `url`
1293
+
1294
+
1295
+ ### GitHub Pages (API)
1296
+
1297
+ Support for deployments to GitHub Pages (API) is in **development**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1298
+
1299
+ ```
1300
+ Usage: dpl pages api [options]
1301
+
1302
+ Summary:
1303
+
1304
+ GitHub Pages (API) deployment provider
1305
+
1306
+ Description:
1307
+
1308
+ This provider requests GitHub Pages build for the repository given by
1309
+ the `--repo` flag, or the current one, if the flag is not given.
1310
+ Note that `dpl` does not perform any check about the fitness of the request;
1311
+ it is assumed that the target repository (and the branch that GitHub Pages is
1312
+ configured to use) is ready for building.
1313
+ For example, if your GitHub Pages is configured to use `gh-pages` but the
1314
+ deployment is run on the `master` branch, you would have to ensure that the
1315
+ `gh-pages` would be updated accordingly during the build.
1316
+
1317
+ Options:
1318
+
1319
+ --repo SLUG GitHub repo slug (type: string, default: repo slug)
1320
+ --token TOKEN GitHub oauth token with repo permission (type: string, required, alias:
1321
+ github_token)
1322
+
1323
+ Common Options:
1324
+
1325
+ --strategy NAME GitHub Pages deployment strategy (type: string, default: git, known values: api,
1326
+ git)
1327
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1328
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1329
+ (string, can be given multiple times))
1330
+ --help Get help on this command
1331
+
1332
+ Examples:
1333
+
1334
+ dpl pages api --token token
1335
+ dpl pages api --token token --repo slug --strategy api --cleanup --run cmd
1336
+ ```
1337
+
1338
+ Options can be given via env vars if prefixed with `[GITHUB_|PAGES_]`. E.g. the option `--token` can
1339
+ be given as `GITHUB_TOKEN=<token>` or `PAGES_TOKEN=<token>`.
1340
+
1341
+ ### GitHub Releases
1342
+
1343
+
1344
+
1345
+ ```
1346
+ Usage: dpl releases [options]
1347
+
1348
+ Summary:
1349
+
1350
+ GitHub Releases deployment provider
1351
+
1352
+ Description:
1353
+
1354
+ tbd
1355
+
1356
+ Options:
1357
+
1358
+ Either token, or username and password are required.
1359
+
1360
+ --token TOKEN GitHub oauth token (needs public_repo or repo permission) (type: string, alias:
1361
+ api_key)
1362
+ --username LOGIN GitHub login name (type: string, alias: user)
1363
+ --password PASS GitHub password (type: string)
1364
+ --repo SLUG GitHub repo slug (type: string, default: repo slug)
1365
+ --file GLOB File or glob to release to GitHub (type: array (string, can be given multiple
1366
+ times), default: *)
1367
+ --[no-]file_glob Interpret files as globs (default: true)
1368
+ --[no-]overwrite Overwrite files with the same name
1369
+ --[no-]prerelease Identify the release as a prerelease
1370
+ --release_number NUM Release number (override automatic release detection) (type: string)
1371
+ --release_notes STR Content for the release notes (type: string, alias: body)
1372
+ --release_notes_file PATH Path to a file containing the release notes (type: string, note: will be ignored
1373
+ if --release_notes is given)
1374
+ --[no-]draft Identify the release as a draft
1375
+ --tag_name TAG Git tag from which to create the release (type: string)
1376
+ --target_commitish STR Commitish value that determines where the Git tag is created from (type: string)
1377
+ --name NAME Name for the release (type: string)
1378
+
1379
+ Common Options:
1380
+
1381
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1382
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1383
+ (string, can be given multiple times))
1384
+ --help Get help on this command
1385
+
1386
+ Examples:
1387
+
1388
+ dpl releases --token token
1389
+ dpl releases --username login --password pass
1390
+ dpl releases --token token --repo slug --file glob --file_glob --overwrite
1391
+ ```
1392
+
1393
+ Options can be given via env vars if prefixed with `[GITHUB_|RELEASES_]`. E.g. the option `--token`
1394
+ can be given as `GITHUB_TOKEN=<token>` or `RELEASES_TOKEN=<token>`.
1395
+
1396
+ ### Gleis
1397
+
1398
+ Support for deployments to Gleis is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1399
+
1400
+ ```
1401
+ Usage: dpl gleis [options]
1402
+
1403
+ Summary:
1404
+
1405
+ Gleis deployment provider
1406
+
1407
+ Description:
1408
+
1409
+ tbd
1410
+
1411
+ Options:
1412
+
1413
+ --app APP Gleis application to upload to (type: string, default: repo name)
1414
+ --username NAME Gleis username (type: string, required)
1415
+ --password PASS Gleis password (type: string, required)
1416
+ --key_name NAME Name of the SSH deploy key pushed to Gleis (type: string, default:
1417
+ dpl_deploy_key)
1418
+ --[no-]verbose
1419
+
1420
+ Common Options:
1421
+
1422
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1423
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1424
+ (string, can be given multiple times))
1425
+ --help Get help on this command
1426
+
1427
+ Examples:
1428
+
1429
+ dpl gleis --username name --password pass
1430
+ dpl gleis --username name --password pass --app app --key_name name --verbose
1431
+ ```
1432
+
1433
+ Options can be given via env vars if prefixed with `GLEIS_`. E.g. the option `--password` can be
1434
+ given as `GLEIS_PASSWORD=<password>`.
1435
+
1436
+ ### Google App Engine
1437
+
1438
+
1439
+
1440
+ ```
1441
+ Usage: dpl gae [options]
1442
+
1443
+ Summary:
1444
+
1445
+ Google App Engine deployment provider
1446
+
1447
+ Description:
1448
+
1449
+ tbd
1450
+
1451
+ Options:
1452
+
1453
+ --project ID Project ID used to identify the project on Google Cloud (type: string, required)
1454
+ --keyfile FILE Path to the JSON file containing your Service Account credentials in JSON Web
1455
+ Token format. To be obtained via the Google Developers Console. Should be
1456
+ handled with care as it contains authorization keys. (type: string, default:
1457
+ service-account.json)
1458
+ --config FILE Path to your service configuration file (type: array (string, can be given
1459
+ multiple times), default: app.yaml)
1460
+ --version VER The version of the app that will be created or replaced by this deployment. If
1461
+ you do not specify a version, one will be generated for you (type: string)
1462
+ --verbosity LEVEL Adjust the log verbosity (type: string, default: warning)
1463
+ --[no-]promote Whether to promote the deployed version (default: true)
1464
+ --[no-]stop_previous_version Prevent the deployment from stopping a previously promoted version (default:
1465
+ true)
1466
+ --[no-]install_sdk Whether to install the Google Cloud SDK (default: true)
1467
+
1468
+ Common Options:
1469
+
1470
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1471
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1472
+ (string, can be given multiple times))
1473
+ --help Get help on this command
1474
+
1475
+ Examples:
1476
+
1477
+ dpl gae --project id
1478
+ dpl gae --project id --keyfile file --config file --version ver --verbosity level
1479
+ ```
1480
+
1481
+ Options can be given via env vars if prefixed with
1482
+ `[CLOUDSDK_CORE|CLOUDSDK_CORE_|GAE|GAE_|GOOGLECLOUD|GOOGLECLOUD_]`.
1483
+
1484
+ ### Google Cloud Store
1485
+
1486
+
1487
+
1488
+ ```
1489
+ Usage: dpl gcs [options]
1490
+
1491
+ Summary:
1492
+
1493
+ Google Cloud Store deployment provider
1494
+
1495
+ Description:
1496
+
1497
+ tbd
1498
+
1499
+ Options:
1500
+
1501
+ Either key_file, or access_key_id and secret_access_key are required.
1502
+
1503
+ --key_file FILE Path to a GCS service account key JSON file (type: string)
1504
+ --access_key_id ID GCS Interoperable Access Key ID (type: string)
1505
+ --secret_access_key KEY GCS Interoperable Access Secret (type: string)
1506
+ --bucket BUCKET GCS Bucket (type: string, required)
1507
+ --local_dir DIR Local directory to upload from (type: string, default: .)
1508
+ --upload_dir DIR GCS directory to upload to (type: string)
1509
+ --[no-]dot_match Upload hidden files starting with a dot
1510
+ --acl ACL Access control to set for uploaded objects (type: string, default: private,
1511
+ known values: private, public-read, public-read-write, authenticated-read,
1512
+ bucket-owner-read, bucket-owner-full-control, see:
1513
+ https://cloud.google.com/storage/docs/reference-headers#xgoogacl)
1514
+ --[no-]detect_encoding HTTP header Content-Encoding to set for files compressed with gzip and compress
1515
+ utilities.
1516
+ --cache_control HEADER HTTP header Cache-Control to suggest that the browser cache the file. (type:
1517
+ string, see:
1518
+ https://cloud.google.com/storage/docs/xml-api/reference-headers#cachecontrol)
1519
+ --glob GLOB type: string, default: **/*
1520
+
1521
+ Common Options:
1522
+
1523
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1524
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1525
+ (string, can be given multiple times))
1526
+ --help Get help on this command
1527
+
1528
+ Examples:
1529
+
1530
+ dpl gcs --bucket bucket --key_file file
1531
+ dpl gcs --bucket bucket --access_key_id id --secret_access_key key
1532
+ dpl gcs --bucket bucket
1533
+ dpl gcs --bucket bucket --key_file file --local_dir dir --upload_dir dir --dot_match
1534
+ ```
1535
+
1536
+ Options can be given via env vars if prefixed with `GCS_`. E.g. the option `--access_key_id` can be
1537
+ given as `GCS_ACCESS_KEY_ID=<access_key_id>`.
1538
+
1539
+ ### Hackage
1540
+
1541
+ Support for deployments to Hackage is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1542
+
1543
+ ```
1544
+ Usage: dpl hackage [options]
1545
+
1546
+ Summary:
1547
+
1548
+ Hackage deployment provider
1549
+
1550
+ Description:
1551
+
1552
+ tbd
1553
+
1554
+ Options:
1555
+
1556
+ --username USER Hackage username (type: string, required)
1557
+ --password USER Hackage password (type: string, required)
1558
+ --[no-]publish Whether or not to publish the package
1559
+
1560
+ Common Options:
1561
+
1562
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1563
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1564
+ (string, can be given multiple times))
1565
+ --help Get help on this command
1566
+
1567
+ Examples:
1568
+
1569
+ dpl hackage --username user --password user
1570
+ dpl hackage --username user --password user --publish --cleanup --run cmd
1571
+ ```
1572
+
1573
+ Options can be given via env vars if prefixed with `HACKAGE_`. E.g. the option `--password` can be
1574
+ given as `HACKAGE_PASSWORD=<password>`.
1575
+
1576
+ ### Hephy
1577
+
1578
+ Support for deployments to Hephy is in **beta**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1579
+
1580
+ ```
1581
+ Usage: dpl hephy [options]
1582
+
1583
+ Summary:
1584
+
1585
+ Hephy deployment provider
1586
+
1587
+ Description:
1588
+
1589
+ tbd
1590
+
1591
+ Options:
1592
+
1593
+ --controller NAME Hephy controller (type: string, required, e.g.: hephy.hephyapps.com)
1594
+ --username USER Hephy username (type: string, required)
1595
+ --password PASS Hephy password (type: string, required)
1596
+ --app APP Deis app (type: string, required)
1597
+ --cli_version VER Install a specific Hephy CLI version (type: string, default: stable)
1598
+ --[no-]verbose Verbose log output
1599
+
1600
+ Common Options:
1601
+
1602
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1603
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1604
+ (string, can be given multiple times))
1605
+ --help Get help on this command
1606
+
1607
+ Examples:
1608
+
1609
+ dpl hephy --controller name --username user --password pass --app app
1610
+ dpl hephy --controller name --username user --password pass --app app --cli_version ver
1611
+ ```
1612
+
1613
+ Options can be given via env vars if prefixed with `HEPHY_`. E.g. the option `--password` can be
1614
+ given as `HEPHY_PASSWORD=<password>`.
1615
+
1616
+ ### Heroku API
1617
+
1618
+
1619
+
1620
+ ```
1621
+ Usage: dpl heroku api [options]
1622
+
1623
+ Summary:
1624
+
1625
+ Heroku API deployment provider
1626
+
1627
+ Description:
1628
+
1629
+ tbd
1630
+
1631
+ Options:
1632
+
1633
+ --api_key KEY Heroku API key (type: string, required)
1634
+
1635
+ Common Options:
1636
+
1637
+ --strategy NAME Heroku deployment strategy (type: string, default: api, known values: api, git)
1638
+ --app APP Heroku app name (type: string, default: repo name)
1639
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1640
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1641
+ (string, can be given multiple times))
1642
+ --help Get help on this command
1643
+
1644
+ Examples:
1645
+
1646
+ dpl heroku api --api_key key
1647
+ dpl heroku api --api_key key --strategy api --app app --cleanup --run cmd
1648
+ ```
1649
+
1650
+ Options can be given via env vars if prefixed with `HEROKU_`. E.g. the option `--api_key` can be
1651
+ given as `HEROKU_API_KEY=<api_key>`.
1652
+
1653
+ ### Heroku Git
1654
+
1655
+ Support for deployments to Heroku Git is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1656
+
1657
+ ```
1658
+ Usage: dpl heroku git [options]
1659
+
1660
+ Summary:
1661
+
1662
+ Heroku Git deployment provider
1663
+
1664
+ Description:
1665
+
1666
+ tbd
1667
+
1668
+ Options:
1669
+
1670
+ Either api_key, or username and password are required.
1671
+
1672
+ --api_key KEY Heroku API key (type: string)
1673
+ --username USER Heroku username (type: string, alias: user)
1674
+ --password PASS Heroku password (type: string)
1675
+ --git URL Heroku Git remote URL (type: string)
1676
+
1677
+ Common Options:
1678
+
1679
+ --strategy NAME Heroku deployment strategy (type: string, default: api, known values: api, git)
1680
+ --app APP Heroku app name (type: string, default: repo name)
1681
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1682
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1683
+ (string, can be given multiple times))
1684
+ --help Get help on this command
1685
+
1686
+ Examples:
1687
+
1688
+ dpl heroku git --api_key key
1689
+ dpl heroku git --username user --password pass
1690
+ dpl heroku git --api_key key --git url --strategy api --app app --cleanup
1691
+ ```
1692
+
1693
+ Options can be given via env vars if prefixed with `HEROKU_`. E.g. the option `--api_key` can be
1694
+ given as `HEROKU_API_KEY=<api_key>`.
1695
+
1696
+ ### Launchpad
1697
+
1698
+ Support for deployments to Launchpad is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1699
+
1700
+ ```
1701
+ Usage: dpl launchpad [options]
1702
+
1703
+ Summary:
1704
+
1705
+ Launchpad deployment provider
1706
+
1707
+ Description:
1708
+
1709
+ tbd
1710
+
1711
+ Options:
1712
+
1713
+ --oauth_token TOKEN Launchpad OAuth token (type: string)
1714
+ --oauth_token_secret SECRET Launchpad OAuth token secret (type: string)
1715
+ --slug SLUG Launchpad project slug (type: string, format: /^~[^\/]+\/[^\/]+\/[^\/]+$/, e.g.:
1716
+ ~user-name/project-name/branch-name)
1717
+
1718
+ Common Options:
1719
+
1720
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1721
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1722
+ (string, can be given multiple times))
1723
+ --help Get help on this command
1724
+
1725
+ Examples:
1726
+
1727
+ dpl launchpad --oauth_token token --oauth_token_secret secret --slug slug --cleanup --run cmd
1728
+ ```
1729
+
1730
+ Options can be given via env vars if prefixed with `LAUNCHPAD_`. E.g. the option `--oauth_token` can
1731
+ be given as `LAUNCHPAD_OAUTH_TOKEN=<oauth_token>`.
1732
+
1733
+ ### Netlify
1734
+
1735
+
1736
+
1737
+ ```
1738
+ Usage: dpl netlify [options]
1739
+
1740
+ Summary:
1741
+
1742
+ Netlify deployment provider
1743
+
1744
+ Description:
1745
+
1746
+ tbd
1747
+
1748
+ Options:
1749
+
1750
+ --site ID A site ID to deploy to (type: string, required)
1751
+ --auth TOKEN An auth token to log in with (type: string, required)
1752
+ --dir DIR Specify a folder to deploy (type: string)
1753
+ --functions FUNCS Specify a functions folder to deploy (type: string)
1754
+ --message MSG A message to include in the deploy log (type: string)
1755
+ --[no-]prod Deploy to production
1756
+
1757
+ Common Options:
1758
+
1759
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1760
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1761
+ (string, can be given multiple times))
1762
+ --help Get help on this command
1763
+
1764
+ Examples:
1765
+
1766
+ dpl netlify --site id --auth token
1767
+ dpl netlify --site id --auth token --dir dir --functions funcs --message msg
1768
+ ```
1769
+
1770
+ Options can be given via env vars if prefixed with `NETLIFY_`. E.g. the option `--auth` can be given
1771
+ as `NETLIFY_AUTH=<auth>`.
1772
+
1773
+ ### npm
1774
+
1775
+
1776
+
1777
+ ```
1778
+ Usage: dpl npm [options]
1779
+
1780
+ Summary:
1781
+
1782
+ npm deployment provider
1783
+
1784
+ Description:
1785
+
1786
+ tbd
1787
+
1788
+ Options:
1789
+
1790
+ --email EMAIL npm account email (type: string)
1791
+ --api_token TOKEN npm api token (type: string, required, alias: api_key, note: can be retrieved
1792
+ from your local ~/.npmrc file, see:
1793
+ https://docs.npmjs.com/creating-and-viewing-authentication-tokens)
1794
+ --access ACCESS Access level (type: string, known values: public, private)
1795
+ --registry URL npm registry url (type: string)
1796
+ --src SRC directory or tarball to publish (type: string, default: .)
1797
+ --tag TAGS distribution tags to add (type: string)
1798
+ --run_script SCRIPT run the given script from package.json (type: array (string, can be given
1799
+ multiple times), note: skips running npm publish)
1800
+ --[no-]dry_run performs test run without uploading to registry
1801
+ --auth_method METHOD Authentication method (type: string, known values: auth)
1802
+
1803
+ Common Options:
1804
+
1805
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1806
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1807
+ (string, can be given multiple times))
1808
+ --help Get help on this command
1809
+
1810
+ Examples:
1811
+
1812
+ dpl npm --api_token token
1813
+ dpl npm --api_token token --email email --access public --registry url --src src
1814
+ ```
1815
+
1816
+ Options can be given via env vars if prefixed with `NPM_`. E.g. the option `--api_token` can be
1817
+ given as `NPM_API_TOKEN=<api_token>`.
1818
+
1819
+ ### nuget
1820
+
1821
+ Support for deployments to nuget is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1822
+
1823
+ ```
1824
+ Usage: dpl nuget [options]
1825
+
1826
+ Summary:
1827
+
1828
+ nuget deployment provider
1829
+
1830
+ Description:
1831
+
1832
+ tbd
1833
+
1834
+ Options:
1835
+
1836
+ --api_key KEY NuGet registry API key (type: string, required, note: can be retrieved from your
1837
+ NuGet registry provider, see:
1838
+ https://docs.npmjs.com/creating-and-viewing-authentication-tokens)
1839
+ --registry URL NuGet registry url (type: string, required)
1840
+ --src SRC The nupkg file(s) to publish (type: string, default: *.nupkg)
1841
+ --[no-]no_symbols Do not push symbols, even if present
1842
+ --[no-]skip_duplicate Do not overwrite existing packages
1843
+
1844
+ Common Options:
1845
+
1846
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1847
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1848
+ (string, can be given multiple times))
1849
+ --help Get help on this command
1850
+
1851
+ Examples:
1852
+
1853
+ dpl nuget --api_key key --registry url
1854
+ dpl nuget --api_key key --registry url --src src --no_symbols --skip_duplicate
1855
+ ```
1856
+
1857
+ Options can be given via env vars if prefixed with `[DOTNET_|NUGET_]`. E.g. the option `--api_key`
1858
+ can be given as `NUGET_API_KEY=<api_key>` or `DOTNET_API_KEY=<api_key>`.
1859
+
1860
+ ### OpenShift
1861
+
1862
+
1863
+
1864
+ ```
1865
+ Usage: dpl openshift [options]
1866
+
1867
+ Summary:
1868
+
1869
+ OpenShift deployment provider
1870
+
1871
+ Description:
1872
+
1873
+ tbd
1874
+
1875
+ Options:
1876
+
1877
+ --server SERVER OpenShift server (type: string, required)
1878
+ --token TOKEN OpenShift token (type: string, required)
1879
+ --project PROJECT OpenShift project (type: string, required)
1880
+ --app APP OpenShift application (type: string, default: repo name)
1881
+
1882
+ Common Options:
1883
+
1884
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1885
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1886
+ (string, can be given multiple times))
1887
+ --help Get help on this command
1888
+
1889
+ Examples:
1890
+
1891
+ dpl openshift --server server --token token --project project
1892
+ dpl openshift --server server --token token --project project --app app --cleanup
1893
+ ```
1894
+
1895
+ Options can be given via env vars if prefixed with `OPENSHIFT_`. E.g. the option `--token` can be
1896
+ given as `OPENSHIFT_TOKEN=<token>`.
1897
+
1898
+ ### Packagecloud
1899
+
1900
+ Support for deployments to Packagecloud is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1901
+
1902
+ ```
1903
+ Usage: dpl packagecloud [options]
1904
+
1905
+ Summary:
1906
+
1907
+ Packagecloud deployment provider
1908
+
1909
+ Description:
1910
+
1911
+ tbd
1912
+
1913
+ Options:
1914
+
1915
+ --username USER The packagecloud.io username. (type: string, required)
1916
+ --token TOKEN The packagecloud.io api token. (type: string, required)
1917
+ --repository REPO The repository to push to. (type: string, required)
1918
+ --local_dir DIR The sub-directory of the built assets for deployment. (type: string, default: .)
1919
+ --dist DIST Required for debian, rpm, and node.js packages (use "node" for node.js
1920
+ packages). The complete list of supported strings can be found on the
1921
+ packagecloud.io docs. (type: string)
1922
+ --[no-]force Whether package has to be (re)uploaded / deleted before upload
1923
+ --connect_timeout SEC type: integer, default: 60
1924
+ --read_timeout SEC type: integer, default: 60
1925
+ --write_timeout SEC type: integer, default: 180
1926
+ --package_glob GLOB type: array (string, can be given multiple times), default: ["**/*"]
1927
+
1928
+ Common Options:
1929
+
1930
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1931
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1932
+ (string, can be given multiple times))
1933
+ --help Get help on this command
1934
+
1935
+ Examples:
1936
+
1937
+ dpl packagecloud --username user --token token --repository repo
1938
+ dpl packagecloud --username user --token token --repository repo --local_dir dir --dist dist
1939
+ ```
1940
+
1941
+ Options can be given via env vars if prefixed with `PACKAGECLOUD_`. E.g. the option `--token` can be
1942
+ given as `PACKAGECLOUD_TOKEN=<token>`.
1943
+
1944
+ ### Puppet Forge
1945
+
1946
+ Support for deployments to Puppet Forge is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
1947
+
1948
+ ```
1949
+ Usage: dpl puppetforge [options]
1950
+
1951
+ Summary:
1952
+
1953
+ Puppet Forge deployment provider
1954
+
1955
+ Description:
1956
+
1957
+ tbd
1958
+
1959
+ Options:
1960
+
1961
+ --username NAME Puppet Forge user name (type: string, required, alias: user)
1962
+ --password PASS Puppet Forge password (type: string, required)
1963
+ --url URL Puppet Forge URL to deploy to (type: string, default:
1964
+ https://forgeapi.puppetlabs.com/)
1965
+
1966
+ Common Options:
1967
+
1968
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
1969
+ --run CMD Commands to execute after the deployment finished successfully (type: array
1970
+ (string, can be given multiple times))
1971
+ --help Get help on this command
1972
+
1973
+ Examples:
1974
+
1975
+ dpl puppetforge --username name --password pass
1976
+ dpl puppetforge --username name --password pass --url url --cleanup --run cmd
1977
+ ```
1978
+
1979
+ Options can be given via env vars if prefixed with `PUPPETFORGE_`. E.g. the option `--password` can
1980
+ be given as `PUPPETFORGE_PASSWORD=<password>`.
1981
+
1982
+ ### PyPI
1983
+
1984
+
1985
+
1986
+ ```
1987
+ Usage: dpl pypi [options]
1988
+
1989
+ Summary:
1990
+
1991
+ PyPI deployment provider
1992
+
1993
+ Description:
1994
+
1995
+ tbd
1996
+
1997
+ Options:
1998
+
1999
+ --username NAME PyPI Username (type: string, required, alias: user)
2000
+ --password PASS PyPI Password (type: string, required)
2001
+ --server SERVER Release to a different index (type: string, default:
2002
+ https://upload.pypi.org/legacy/)
2003
+ --distributions DISTS Space-separated list of distributions to be uploaded to PyPI (type: string,
2004
+ default: sdist)
2005
+ --docs_dir DIR Path to the directory to upload documentation from (type: string, default:
2006
+ build/docs)
2007
+ --[no-]skip_existing Do not overwrite an existing file with the same name on the server.
2008
+ --[no-]upload_docs Upload documentation (default: false, note: most PyPI servers, including
2009
+ upload.pypi.org, do not support uploading documentation)
2010
+ --[no-]twine_check Whether to run twine check (default: true)
2011
+ --[no-]remove_build_dir Remove the build dir after the upload (default: true)
2012
+ --setuptools_version VER type: string, format: /\A\d+(?:\.\d+)*\z/
2013
+ --twine_version VER type: string, format: /\A\d+(?:\.\d+)*\z/
2014
+ --wheel_version VER type: string, format: /\A\d+(?:\.\d+)*\z/
2015
+
2016
+ Common Options:
2017
+
2018
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2019
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2020
+ (string, can be given multiple times))
2021
+ --help Get help on this command
2022
+
2023
+ Examples:
2024
+
2025
+ dpl pypi --username name --password pass
2026
+ dpl pypi --username name --password pass --server server --distributions dists --docs_dir dir
2027
+ ```
2028
+
2029
+ Options can be given via env vars if prefixed with `PYPI_`. E.g. the option `--password` can be
2030
+ given as `PYPI_PASSWORD=<password>`.
2031
+
2032
+ ### Rubygems
2033
+
2034
+
2035
+
2036
+ ```
2037
+ Usage: dpl rubygems [options]
2038
+
2039
+ Summary:
2040
+
2041
+ Rubygems deployment provider
2042
+
2043
+ Description:
2044
+
2045
+ tbd
2046
+
2047
+ Options:
2048
+
2049
+ Either api_key, or username and password are required.
2050
+
2051
+ --api_key KEY Rubygems api key (type: string)
2052
+ --username USER Rubygems user name (type: string, alias: user)
2053
+ --password PASS Rubygems password (type: string)
2054
+ --gem NAME Name of the gem to release (type: string, default: repo name)
2055
+ --gemspec FILE Gemspec file to use to build the gem (type: string)
2056
+ --gemspec_glob GLOB Glob pattern to search for gemspec files when multiple gems are generated in the
2057
+ repository (overrides the gemspec option) (type: string)
2058
+ --host URL type: string
2059
+
2060
+ Common Options:
2061
+
2062
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2063
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2064
+ (string, can be given multiple times))
2065
+ --help Get help on this command
2066
+
2067
+ Examples:
2068
+
2069
+ dpl rubygems --api_key key
2070
+ dpl rubygems --username user --password pass
2071
+ dpl rubygems --api_key key --gem name --gemspec file --gemspec_glob glob --host url
2072
+ ```
2073
+
2074
+ Options can be given via env vars if prefixed with `RUBYGEMS_`. E.g. the option `--api_key` can be
2075
+ given as `RUBYGEMS_API_KEY=<api_key>`.
2076
+
2077
+ ### Scalingo
2078
+
2079
+ Support for deployments to Scalingo is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
2080
+
2081
+ ```
2082
+ Usage: dpl scalingo [options]
2083
+
2084
+ Summary:
2085
+
2086
+ Scalingo deployment provider
2087
+
2088
+ Description:
2089
+
2090
+ tbd
2091
+
2092
+ Options:
2093
+
2094
+ Either api_token, or username and password are required.
2095
+
2096
+ --app APP type: string, default: repo name
2097
+ --api_token TOKEN Scalingo API token (type: string, alias: api_key (deprecated, please use
2098
+ api_token))
2099
+ --username NAME Scalingo username (type: string)
2100
+ --password PASS Scalingo password (type: string)
2101
+ --region REGION Scalingo region (type: string, default: agora-fr1, known values: agora-fr1,
2102
+ osc-fr1)
2103
+ --remote REMOTE Git remote name (type: string, default: scalingo-dpl)
2104
+ --branch BRANCH Git branch (type: string, default: master)
2105
+ --timeout SEC Timeout for Scalingo CLI commands (type: integer, default: 60)
2106
+
2107
+ Common Options:
2108
+
2109
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2110
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2111
+ (string, can be given multiple times))
2112
+ --help Get help on this command
2113
+
2114
+ Examples:
2115
+
2116
+ dpl scalingo --api_token token
2117
+ dpl scalingo --username name --password pass
2118
+ dpl scalingo --api_token token --app app --region agora-fr1 --remote remote --branch branch
2119
+ ```
2120
+
2121
+ Options can be given via env vars if prefixed with `SCALINGO_`. E.g. the option `--password` can be
2122
+ given as `SCALINGO_PASSWORD=<password>`.
2123
+
2124
+ ### Script
2125
+
2126
+
2127
+
2128
+ ```
2129
+ Usage: dpl script [options]
2130
+
2131
+ Summary:
2132
+
2133
+ Minimal provider that executes a custom command
2134
+
2135
+ Description:
2136
+
2137
+ This deployment provider executes a single, custom command. This is
2138
+ usually a script that is contained in your repository, but it can be
2139
+ any command executable in the build environment.
2140
+
2141
+ It is possible to pass arguments to a script deployment like so:
2142
+
2143
+ dpl script -s './scripts/deploy.sh production --verbose'
2144
+
2145
+ Deployment will be marked a failure if the script exits with nonzero
2146
+ status.
2147
+
2148
+ Options:
2149
+
2150
+ -s --script SCRIPT The script to execute (type: string, required)
2151
+
2152
+ Common Options:
2153
+
2154
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2155
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2156
+ (string, can be given multiple times))
2157
+ --help Get help on this command
2158
+
2159
+ Examples:
2160
+
2161
+ dpl script --script script
2162
+ dpl script --script script --cleanup --run cmd
2163
+ ```
2164
+
2165
+
2166
+
2167
+ ### Snap
2168
+
2169
+
2170
+
2171
+ ```
2172
+ Usage: dpl snap [options]
2173
+
2174
+ Summary:
2175
+
2176
+ Snap deployment provider
2177
+
2178
+ Description:
2179
+
2180
+ tbd
2181
+
2182
+ Options:
2183
+
2184
+ --token TOKEN Snap API token (type: string, required)
2185
+ --snap STR Path to the snap to be pushed (can be a glob) (type: string, default: **/*.snap)
2186
+ --channel CHAN Channel into which the snap will be released (type: string, default: edge)
2187
+
2188
+ Common Options:
2189
+
2190
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2191
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2192
+ (string, can be given multiple times))
2193
+ --help Get help on this command
2194
+
2195
+ Examples:
2196
+
2197
+ dpl snap --token token
2198
+ dpl snap --token token --snap str --channel chan --cleanup --run cmd
2199
+ ```
2200
+
2201
+ Options can be given via env vars if prefixed with `SNAP_`. E.g. the option `--token` can be given
2202
+ as `SNAP_TOKEN=<token>`.
2203
+
2204
+ ### Surge
2205
+
2206
+
2207
+
2208
+ ```
2209
+ Usage: dpl surge [options]
2210
+
2211
+ Summary:
2212
+
2213
+ Surge deployment provider
2214
+
2215
+ Description:
2216
+
2217
+ tbd
2218
+
2219
+ Options:
2220
+
2221
+ --login EMAIL Surge login (the email address you use with Surge) (type: string, required)
2222
+ --token TOKEN Surge login token (can be retrieved with `surge token`) (type: string, required)
2223
+ --domain NAME Domain to publish to. Not required if the domain is set in the CNAME file in the
2224
+ project folder. (type: string)
2225
+ --project PATH Path to project directory relative to repo root (type: string, default: .)
2226
+
2227
+ Common Options:
2228
+
2229
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2230
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2231
+ (string, can be given multiple times))
2232
+ --help Get help on this command
2233
+
2234
+ Examples:
2235
+
2236
+ dpl surge --login email --token token
2237
+ dpl surge --login email --token token --domain name --project path --cleanup
2238
+ ```
2239
+
2240
+ Options can be given via env vars if prefixed with `SURGE_`. E.g. the option `--token` can be given
2241
+ as `SURGE_TOKEN=<token>`.
2242
+
2243
+ ### TestFairy
2244
+
2245
+ Support for deployments to TestFairy is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
2246
+
2247
+ ```
2248
+ Usage: dpl testfairy [options]
2249
+
2250
+ Summary:
2251
+
2252
+ TestFairy deployment provider
2253
+
2254
+ Description:
2255
+
2256
+ tbd
2257
+
2258
+ Options:
2259
+
2260
+ --api_key KEY TestFairy API key (type: string, required)
2261
+ --app_file FILE Path to the app file that will be generated after the build (APK/IPA) (type:
2262
+ string, required)
2263
+ --symbols_file FILE Path to the symbols file (type: string)
2264
+ --testers_groups GROUPS Tester groups to be notified about this build (type: string, e.g.: e.g.
2265
+ group1,group1)
2266
+ --[no-]notify Send an email with a changelog to your users
2267
+ --[no-]auto_update Automaticall upgrade all the previous installations of this app this version
2268
+ --advanced_options OPTS Comma_separated list of advanced options (type: string, e.g.: option1,option2)
2269
+
2270
+ Common Options:
2271
+
2272
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2273
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2274
+ (string, can be given multiple times))
2275
+ --help Get help on this command
2276
+
2277
+ Examples:
2278
+
2279
+ dpl testfairy --api_key key --app_file file
2280
+ dpl testfairy --api_key key --app_file file --symbols_file file --testers_groups groups --notify
2281
+ ```
2282
+
2283
+ Options can be given via env vars if prefixed with `TESTFAIRY_`. E.g. the option `--api_key` can be
2284
+ given as `TESTFAIRY_API_KEY=<api_key>`.
2285
+
2286
+ ### Transifex
2287
+
2288
+ Support for deployments to Transifex is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
2289
+
2290
+ ```
2291
+ Usage: dpl transifex [options]
2292
+
2293
+ Summary:
2294
+
2295
+ Transifex deployment provider
2296
+
2297
+ Description:
2298
+
2299
+ tbd
2300
+
2301
+ Options:
2302
+
2303
+ Either api_token, or username and password are required.
2304
+
2305
+ --api_token TOKEN Transifex API token (type: string)
2306
+ --username NAME Transifex username (type: string)
2307
+ --password PASS Transifex password (type: string)
2308
+ --hostname NAME Transifex hostname (type: string, default: www.transifex.com)
2309
+ --cli_version VER CLI version to install (type: string, default: >=0.11)
2310
+
2311
+ Common Options:
2312
+
2313
+ --cleanup Clean up build artifacts from the Git working directory before the deployment
2314
+ --run CMD Commands to execute after the deployment finished successfully (type: array
2315
+ (string, can be given multiple times))
2316
+ --help Get help on this command
2317
+
2318
+ Examples:
2319
+
2320
+ dpl transifex --api_token token
2321
+ dpl transifex --username name --password pass
2322
+ dpl transifex --api_token token --hostname name --cli_version ver --cleanup --run cmd
2323
+ ```
2324
+
2325
+ Options can be given via env vars if prefixed with `TRANSIFEX_`. E.g. the option `--api_token` can
2326
+ be given as `TRANSIFEX_API_TOKEN=<api_token>`.
2327
+
2328
+ ## Contributing to Dpl
2329
+
2330
+ ### Table of Contents
2331
+
2332
+ * [Resources](#resources)
2333
+ * [Navigating the Codebase](#navigating-the-codebase)
2334
+ * [Lifecycle of the Deployment Process](#lifecycle-of-the-deployment-process)
2335
+ * [Deployment Tooling](#deployment-tooling)
2336
+ * [Runtime Dependencies](#runtime-dependencies)
2337
+ * [Unit Tests](#unit-tests)
2338
+ * [Runtime Dependency Installation Tests](#runtime-dependency-installation-tests)
2339
+ * [Integration Tests](#integration-tests)
2340
+ * [Testing Dpl Branches or Forks on Travis CI](#testing-dpl-branches-or-forks-on-travis-ci)
2341
+ * [Code Conventions](#code-conventions)
2342
+ * [Naming Conventions](#naming-conventions)
2343
+ * [Updating the README](#updating-the-readme)
2344
+
2345
+ Dpl is a central component in Travis CI, and has been around for a long time.
2346
+
2347
+ This library always has been a community effort first. There probably is not a
2348
+ single person in the world who is very familiar with all deployment providers
2349
+ supported by Dpl.
2350
+
2351
+ *Thank you all for this!*
2352
+
2353
+ This document is for you if you are looking to contribute to dpl, be it by
2354
+ adding a new deployment provider, fixing a bug, or adding a new feature.
2355
+
2356
+ Dpl has a [code of conduct](CODE_OF_CONDUCT.md), please follow it in all
2357
+ interactions with the project.
2358
+
2359
+ Dpl is written in Ruby, and we assume that you familiarize yourself with our
2360
+ documentation as much as needed.
2361
+
2362
+ ### Resources
2363
+
2364
+ Hopefully helpful resources are:
2365
+
2366
+ * This [document](CONTRIBUTING.md)
2367
+ * The [dpl README](README.md)
2368
+ * The [dpl API docs](https://www.rubydoc.info/github/travis-ci/dpl) on rubydocs.info
2369
+ * The [cl README](https://github.com/svenfuchs/cl/blob/master/README.md)
2370
+
2371
+ ### Navigating the Codebase
2372
+
2373
+ All provider specific classes live in [dpl/providers](lib/dpl/providers).
2374
+ These represent the CLI commands that are executed when the command line
2375
+ executable `dpl` is run with a given provider name as the first argument.
2376
+
2377
+ Each provider is a subclass of `Dpl::Provider`, which is defined in
2378
+ [dpl/provider.rb](lib/dpl/provider.rb). The provider base class itself
2379
+ subclasses from `Cl::Cmd`, so it represents an executable sub command of the
2380
+ main command `dpl`.
2381
+
2382
+ For instance, the command `dpl s3 --bucket bucket` instantiates and runs the
2383
+ provider class [S3](lib/dpl/providers/s3.rb).
2384
+
2385
+ The class `Cl::Cmd` contributes the command line options parser, and its
2386
+ class level DSL. Please see the [cl README](https://github.com/svenfuchs/cl/blob/master/README.md)
2387
+ for this DSL, and the [S3 provider](/lib/dpl/provider/s3.rb)
2388
+ for an example how dpl uses it.
2389
+
2390
+ The class `Dpl::Provider` adds, amongst other things, the order of stages
2391
+ (methods) that make up the deployment process:
2392
+
2393
+ * `init`
2394
+ * `install`
2395
+ * `login`
2396
+ * `setup`
2397
+ * `validate`
2398
+ * `prepare`
2399
+ * `deploy`
2400
+ * `finish`
2401
+
2402
+ Implementors of concrete provider classes may or may not choose to implement
2403
+ any of these instance methods according to their needs, and semantics of their
2404
+ tooling and service providers. Please refer to [Dpl::Provider](/lib/dpl/provider.rb)
2405
+ for details.
2406
+
2407
+ The DSL that is used to declare features, dependencies, environment integration
2408
+ etc. on the concrete provider classes is defined in the module
2409
+ `Dpl::Provider::DSL`, in [dpl/provider/dsl](/lib/dpl/provider/dsl.rb).
2410
+
2411
+ Also of interest is [Dpl::Ctx::Bash](/lib/dpl/ctx/bash.rb),
2412
+ the Bash execution context, that runs shell commands, installs dependencies
2413
+ etc. (while the `Test` context class is used for testing in order to keep your
2414
+ development machine clean and safe when you run tests locally).
2415
+
2416
+ ```
2417
+ lib
2418
+ └── dpl
2419
+ ├── assets # Stores larger shell scripts
2420
+ ├── ctx
2421
+ │   ├── bash.rb # Bash execution context
2422
+ │   └── test.rb # Test execution context
2423
+ ├── provider.rb # Base class for all providers
2424
+ ├── provider
2425
+ │   ├── dsl.rb # DSL for defining providers
2426
+ │   └── example.rb # Generating example commands for help output
2427
+ └── providers
2428
+    ├── anynines.rb # Concrete providers
2429
+    ├── atlas.rb
2430
+    ├── azure_webapps.rb
2431
+    ├── bintray.rb
2432
+    ├── bitballoon.rb
2433
+    └── ⋮
2434
+ ```
2435
+
2436
+ ### Lifecycle of the Deployment Process
2437
+
2438
+ When a provider class is instantiated and run it will go through a number
2439
+ of stages that make up the deployment process.
2440
+
2441
+ These are documented in [dpl/provider.rb](/lib/dpl/provider.rb).
2442
+ If you are adding a new deployment provider please familiarize yourself with
2443
+ this lifecycle.
2444
+
2445
+ Feel free to pick and interpret these stages according to the needs and
2446
+ semantics of the service provider you are adding. By no means do all of these
2447
+ stages have to be filled in or implmented. The `Provider` base class checks for
2448
+ these methods, and runs them, if present, so that implementors can choose
2449
+ semantically fitting names for their providers.
2450
+
2451
+ ### Deployment Tooling
2452
+
2453
+ If you are adding a new deployment provider please choose the tooling you are
2454
+ going to use carefully.
2455
+
2456
+ Dpl is a long lived library, and it has outlived many tools that once were
2457
+ supported, and no longer are. Thus tooling stability is a major concern for
2458
+ this project.
2459
+
2460
+ Ideally use official CLI tooling supported by the company who's service
2461
+ provider you are about to add. Often, such CLI tools can be installed via
2462
+ standard package managers, or manually downloaded using `curl` and installed
2463
+ with a few simple Bash commands.
2464
+
2465
+ Such CLI tooling is preferrable over Ruby gem runtime dependencies as they can
2466
+ be executed in a child process, and won't introduce any dependency resolution
2467
+ problems later on.
2468
+
2469
+ If no such CLI is available, or it does not look well supported, and your
2470
+ provider implementation needs to talk to an external HTTP API then please consider
2471
+ using [Net::HTTP](https://ruby-doc.org/stdlib-2.6.3/libdoc/net/http/rdoc/Net/HTTP.html)
2472
+ from Ruby's standard library.
2473
+
2474
+ If you absolutely have to rely on a runtime Ruby gem dependency, such as a
2475
+ provider client implementation, please only do so if the gem is supported by
2476
+ the respective company officially. We may choose to reject including runtime
2477
+ dependencies that do not look stable or widely supported.
2478
+
2479
+ ### Runtime Dependencies
2480
+
2481
+ Runtime dependencies can be declared on the provider class using the
2482
+ [DSL](lib/dpl/provider/dsl.rb).
2483
+
2484
+ In the case of APT, NPM, and Pip dependencies these will be installed via
2485
+ shell commands at the beginning of the deployment process.
2486
+
2487
+ Ruby gem dependencies will be installed using Bundler's [inline API](https://github.com/bundler/bundler/blob/master/lib/bundler/inline.rb),
2488
+ at the beginning of the deployment process, so they are available in the same
2489
+ Ruby process from then on.
2490
+
2491
+ ### Unit Tests
2492
+
2493
+ `Dpl` uses [RSpec](https://github.com/rspec) for tests. The specs reside in
2494
+ `spec`, and each provider class has a corresponding file
2495
+ `spec/dpl/providers/*_spec.rb` to hold tests.
2496
+
2497
+ Provider tests should be implemented on an input/output acceptance level, as
2498
+ much as possible.
2499
+
2500
+ They use a [Ctx::Test](blob/masterlib/dpl/ctx/test.rb) execution context in
2501
+ order to avoid running actual shell commands, or actually installing
2502
+ dependencies at test time. There are custom [RSpec matchers](spec/support/matchers)
2503
+ in place that help with making assertions against this execution context.
2504
+
2505
+ If your provider has to talk to an external HTTP API then ideally use
2506
+ [Webmock](https://github.com/bblimke/webmock) to stub external requests. If by
2507
+ any means possible try to avoid mocking or stubbing Ruby client classes (this
2508
+ is not always possible, but should be considered).
2509
+
2510
+ #### Running Unit Tests Locally
2511
+
2512
+ You can run the unit test suite locally as follows:
2513
+
2514
+ ```
2515
+ bundle install
2516
+ bundle exec rspec
2517
+ ```
2518
+
2519
+ In order to execute tests only for a certain provider you can run:
2520
+
2521
+ ```
2522
+ bundle exec rspec spec/dpl/providers/[provider]_spec.rb
2523
+ ```
2524
+
2525
+ In order to execute a single test or group of tests add a line number like so:
2526
+
2527
+ ```
2528
+ bundle exec rspec spec/dpl/providers/[provider]_spec.rb:25
2529
+ ```
2530
+
2531
+ These tests can be run safely on any development machine, anywhere.
2532
+
2533
+ ### Runtime Dependency Installation Tests
2534
+
2535
+ We additionally run tests that exercise runtime dependency installation on
2536
+ Travis CI.
2537
+
2538
+ These live in [.travis/test_install](.travis/test_install). It is not
2539
+ advisable to run these tests outside of an ephemeral VM or container that can
2540
+ be safely discarded, as they are going to leave various artifacts around.
2541
+
2542
+ ### Integration Tests
2543
+
2544
+ In order to ensure proper integration with the service providers supported
2545
+ we also periodically run a test suite that exercises actual deployments to
2546
+ these providers.
2547
+
2548
+ These tests live in [.travis/providers](/.travis/providers), and the are
2549
+ triggered using the script [trigger](/.travis/trigger).
2550
+
2551
+ An integration test consists of:
2552
+
2553
+ * A setup script that creates an application (or artifact) to deploy (or
2554
+ upload).
2555
+ * A YAML config snippet that configures and triggers the deployment as part of
2556
+ a build on Travis CI.
2557
+ * A test script that tests if the deployment was successful.
2558
+
2559
+ For example:
2560
+
2561
+ * [github-pages/prepare](/.travis/providers/github-pages/prepare)
2562
+ creates a minimal Git repository that serves an `index.html` on GitHub Pages in a temporary directory.
2563
+ * [github-pages/travis.yml](/.travis/providers/github-pages/travis.yml)
2564
+ configures the build to use Dpl 2.0 to deploy this repository to GitHub Pages.
2565
+ * [github-pages/test](/.travis/providers/github-pages/test)
2566
+ tests if the deployment was successful.
2567
+
2568
+ The tests can be run on Travis CI individually, or combined, by triggering a
2569
+ build via our API, using the script [.travis/trigger](/.travis/trigger).
2570
+ This takes a provider name as an argument, and requires a Travis CI API token.
2571
+
2572
+ For example, this triggers a build that executes the GitHub Pages test on
2573
+ Travis CI:
2574
+
2575
+ ```
2576
+ .travis/trigger github-pages --token [token]
2577
+ ```
2578
+
2579
+ The token can also be set as an environment variable:
2580
+
2581
+ ```
2582
+ export TRAVIS_API_TOKEN=[token]
2583
+ .travis/trigger github-pages
2584
+ ```
2585
+
2586
+ The `trigger` script accepts multiple provider names as arguments. If no
2587
+ arguments are given then tests for all providers will be run.
2588
+
2589
+ #### Integration Test Configuration
2590
+
2591
+ In the build config YAML snippet make sure to use the branch of your fork for the
2592
+ deployment tooling, and allow the deployment to run on your branch:
2593
+
2594
+ ```yaml
2595
+ deploy:
2596
+ - provider: [name]
2597
+ edge:
2598
+ source: [your-login]/dpl
2599
+ branch: [your-branch]
2600
+ on:
2601
+ branch: [your-branch]
2602
+ ```
2603
+
2604
+ Ideally use credentials for an isolated account on the service you are deploying to.
2605
+ This is generally good practice, and way you can hand things off to someone else.
2606
+
2607
+ In order to get things working encrypt the credentials against your fork, and
2608
+ add them to the build config YAML snippet. If you are in the root directory
2609
+ of your fork then this command should do the trick:
2610
+
2611
+ ```
2612
+ travis encrypt password=[password]
2613
+ ```
2614
+
2615
+ If you do not have the `travis` CLI installed you can install it using:
2616
+
2617
+ ```
2618
+ gem install travis
2619
+ ```
2620
+
2621
+ When you add encrypted credentials to the build config YAML snippet also add a comment
2622
+ that allows others to identify the account used. E.g:
2623
+
2624
+ ```yaml
2625
+ deploy:
2626
+ - provider: pages
2627
+ github_token:
2628
+ # personal access token with repo scope on the account [name]
2629
+ secure: "[encrypted token]"
2630
+ ```
2631
+
2632
+ Open a pull request. In order for us to merge your test, and get it working on
2633
+ our repository you will need to re-encrypt the credentials against
2634
+ `travis-ci/dpl`, like so:
2635
+
2636
+ ```
2637
+ travis encrypt -r travis-ci/dpl password=[password]
2638
+ ```
2639
+
2640
+ Whatever minimal deployment you can get working is be a great contribution.
2641
+ Even if for some reason it proves hard to test the deployment in an automated
2642
+ fashion, but you have a successful deployment that can be verified manually,
2643
+ please still open a pull request, and talk to us. Any test is better than no
2644
+ test.
2645
+
2646
+ ### Testing Dpl Branches or Forks on Travis CI
2647
+
2648
+ It is possible to test a new deployment provider or new functionality of dpl on
2649
+ Travis CI. In order to do so, add proper configuration on the `edge` key to
2650
+ your `.travis.yml` like so:
2651
+
2652
+ ```yaml
2653
+ deploy:
2654
+ provider: [name]
2655
+ edge:
2656
+ source: [github-handle]/dpl
2657
+ branch: [branch]
2658
+ on:
2659
+ branch: TEST_BRANCH # or all_branches: true
2660
+ ⋮ # rest of your provider's configuration
2661
+ ```
2662
+
2663
+ This builds the `dpl` gem on the Travis CI build environment from your
2664
+ repository, on the given branch. Then it installs the gem built from this code
2665
+ base, and uses it to run your deployment.
2666
+
2667
+ When submitting a pull request, please be sure to run at least one deployment
2668
+ with the new configuration, and provide a link to the build in your pull
2669
+ request.
2670
+
2671
+ ### Code Conventions
2672
+
2673
+ Dpl does not follow any strict code styleguide.
2674
+
2675
+ Please take a look around other providers, and try to follow a similar code
2676
+ style to what you find.
2677
+
2678
+ Try to use the [DSL](/lib/dpl/provider/dsl.rb) as much
2679
+ as possible. It keeps the code declarative and readable, so that people not
2680
+ familiar with Ruby or programming in general can still follow it, and make
2681
+ sense of it.
2682
+
2683
+ If you find yourself trying to achieve something that should be, but is not
2684
+ supported by the DSL please [open an issue](https://github.com/travis-ci/dpl/issues/new)
2685
+ about it.
2686
+
2687
+ If you are rather unfamiliar with Ruby, and have trouble following our code
2688
+ style then please submit your pull request anyway, or get in touch, so we can
2689
+ help.
2690
+
2691
+ ### Naming Conventions
2692
+
2693
+ Dpl uses constant names following Ruby naming conventions. I.e. constant
2694
+ names use `CamelCase`, and they live in files named in `snake_case.rb`.
2695
+
2696
+ If you pick such names for a new provider please try to follow these
2697
+ conventions.
2698
+
2699
+ Real world service provider or company names do not always translate to such
2700
+ conventional Ruby names one-to-one. That is ok, they don't have to. These Ruby
2701
+ constant names are representations of real world service and company names in
2702
+ Ruby code.
2703
+
2704
+ Other Ruby libraries often (not always) follow a similar thinking. E.g.
2705
+ even though Amazon Web Services brand name is `AWS` the module name
2706
+ they chose in their [aws-sdk](https://github.com/aws/aws-sdk-ruby) is
2707
+ `Aws`, not `AWS`.
2708
+
2709
+ ### Updating the README
2710
+
2711
+ The [README](/README.md) is generated from a
2712
+ [template](/lib/dpl/assets/dpl/README.erb.md).
2713
+
2714
+ In order to update the README please edit the template, and run:
2715
+
2716
+ ```
2717
+ gem install ffi-icu
2718
+ bin/readme > README.md
2719
+ ```
2720
+
2721
+
2722
+ ## Old Issues
2723
+
2724
+ If an issue has been left open and untouched for 90 days or more, we
2725
+ automatically close them. We do this to ensure that new issues are more easily
2726
+ noticeable, and that old issues that have been resolved or are no longer
2727
+ relevant are closed. You can read more about this [here](https://blog.travis-ci.com/2018-03-09-closing-old-issues).
2728
+
2729
+ ## Code of Conduct
2730
+
2731
+ Please see [our code of conduct](CODE_OF_CONDUCT.md) for how to interact with
2732
+ this project and its community.
2733
+
2734
+ ## License
2735
+
2736
+ Dpl is licensed under the [MIT License](https://github.com/travis-ci/dpl/blob/master/LICENSE).
2737
+
2738
+ ## Credits
2739
+
2740
+ This tool would not exist without your help.
2741
+
2742
+ A huge thank you goes out to all of our current and past [contributors](https://github.com/travis-ci/dpl/graphs/contributors):
2743
+
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