dpl 1.10.17.travis.6637.6 → 2.0.0.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +74 -0
- data/CONTRIBUTING.md +392 -0
- data/Gemfile +17 -3
- data/Gemfile.lock +373 -0
- data/LICENSE +16 -19
- data/NOTES.md +275 -0
- data/README.md +1977 -707
- data/Rakefile +2 -2
- data/bin/dpl +7 -3
- data/lib/dpl.rb +20 -0
- data/lib/dpl/assets/atlas/install +19 -0
- data/lib/dpl/assets/dpl/README.erb.md +133 -0
- data/lib/dpl/assets/dpl/git_ssh +2 -0
- data/lib/dpl/assets/git/detect_private_key +8 -0
- data/lib/dpl/assets/hephy/filter_log +3 -0
- data/lib/dpl/assets/pypi/install +4 -0
- data/lib/dpl/assets/scalingo/install +6 -0
- data/lib/dpl/cli.rb +36 -48
- data/lib/dpl/ctx.rb +2 -0
- data/lib/dpl/ctx/bash.rb +543 -0
- data/lib/dpl/ctx/test.rb +242 -0
- data/lib/dpl/helper/assets.rb +36 -0
- data/lib/dpl/helper/cmd.rb +167 -0
- data/lib/dpl/helper/config_file.rb +47 -0
- data/lib/dpl/helper/env.rb +39 -0
- data/lib/dpl/helper/interpolate.rb +126 -0
- data/lib/dpl/helper/memoize.rb +20 -0
- data/lib/dpl/helper/squiggle.rb +22 -0
- data/lib/dpl/helper/zip.rb +69 -0
- data/lib/dpl/provider.rb +562 -234
- data/lib/dpl/provider/dsl.rb +369 -0
- data/lib/dpl/provider/examples.rb +128 -0
- data/lib/dpl/provider/status.rb +59 -0
- data/lib/dpl/providers.rb +40 -0
- data/lib/dpl/providers/anynines.rb +65 -0
- data/lib/dpl/providers/atlas.rb +49 -0
- data/lib/dpl/providers/azure_web_apps.rb +59 -0
- data/lib/dpl/providers/bintray.rb +313 -0
- data/lib/dpl/providers/bluemixcloudfoundry.rb +92 -0
- data/lib/dpl/providers/boxfuse.rb +48 -0
- data/lib/dpl/providers/cargo.rb +19 -0
- data/lib/dpl/providers/chef_supermarket.rb +128 -0
- data/lib/dpl/providers/cloud66.rb +40 -0
- data/lib/dpl/providers/cloudfiles.rb +56 -0
- data/lib/dpl/providers/cloudfoundry.rb +81 -0
- data/lib/dpl/providers/codedeploy.rb +179 -0
- data/lib/dpl/providers/datica.rb +60 -0
- data/lib/dpl/providers/elasticbeanstalk.rb +195 -0
- data/lib/dpl/providers/engineyard.rb +107 -0
- data/lib/dpl/providers/firebase.rb +41 -0
- data/lib/dpl/providers/gae.rb +74 -0
- data/lib/dpl/providers/gcs.rb +105 -0
- data/lib/dpl/providers/hackage.rb +47 -0
- data/lib/dpl/providers/hephy.rb +101 -0
- data/lib/dpl/providers/heroku.rb +111 -0
- data/lib/dpl/providers/heroku/api.rb +119 -0
- data/lib/dpl/providers/heroku/git.rb +50 -0
- data/lib/dpl/providers/lambda.rb +202 -0
- data/lib/dpl/providers/launchpad.rb +74 -0
- data/lib/dpl/providers/netlify.rb +30 -0
- data/lib/dpl/providers/npm.rb +88 -0
- data/lib/dpl/providers/openshift.rb +46 -0
- data/lib/dpl/providers/opsworks.rb +142 -0
- data/lib/dpl/providers/packagecloud.rb +190 -0
- data/lib/dpl/providers/pages.rb +17 -0
- data/lib/dpl/providers/pages/api.rb +102 -0
- data/lib/dpl/providers/pages/git.rb +251 -0
- data/lib/dpl/providers/puppetforge.rb +44 -0
- data/lib/dpl/providers/pypi.rb +120 -0
- data/lib/dpl/providers/releases.rb +214 -0
- data/lib/dpl/providers/rubygems.rb +89 -0
- data/lib/dpl/providers/s3.rb +243 -0
- data/lib/dpl/providers/scalingo.rb +63 -0
- data/lib/dpl/providers/script.rb +28 -0
- data/lib/dpl/providers/snap.rb +59 -0
- data/lib/dpl/providers/surge.rb +55 -0
- data/lib/dpl/providers/testfairy.rb +93 -0
- data/lib/dpl/providers/transifex.rb +66 -0
- data/lib/dpl/support/aws_sdk_patch.rb +23 -0
- data/lib/dpl/support/gems.rb +69 -0
- data/lib/dpl/support/gstore_patch.rb +6 -0
- data/lib/dpl/support/version.rb +83 -0
- data/lib/dpl/version.rb +2 -2
- metadata +98 -169
- data/.coveralls.yml +0 -1
- data/.github/CONTRIBUTING.md +0 -173
- data/.github/stale.yml +0 -53
- data/.gitignore +0 -13
- data/.rspec +0 -2
- data/.travis.yml +0 -56
- data/dpl-anynines.gemspec +0 -3
- data/dpl-atlas.gemspec +0 -3
- data/dpl-azure_webapps.gemspec +0 -3
- data/dpl-bintray.gemspec +0 -3
- data/dpl-bitballoon.gemspec +0 -3
- data/dpl-bluemix_cloud_foundry.gemspec +0 -3
- data/dpl-boxfuse.gemspec +0 -3
- data/dpl-cargo.gemspec +0 -3
- data/dpl-catalyze.gemspec +0 -3
- data/dpl-chef_supermarket.gemspec +0 -20
- data/dpl-cloud66.gemspec +0 -3
- data/dpl-cloud_files.gemspec +0 -3
- data/dpl-cloud_foundry.gemspec +0 -3
- data/dpl-code_deploy.gemspec +0 -3
- data/dpl-deis.gemspec +0 -3
- data/dpl-elastic_beanstalk.gemspec +0 -3
- data/dpl-engine_yard.gemspec +0 -3
- data/dpl-firebase.gemspec +0 -3
- data/dpl-gae.gemspec +0 -3
- data/dpl-gcs.gemspec +0 -3
- data/dpl-hackage.gemspec +0 -3
- data/dpl-hephy.gemspec +0 -3
- data/dpl-heroku.gemspec +0 -3
- data/dpl-lambda.gemspec +0 -3
- data/dpl-launchpad.gemspec +0 -3
- data/dpl-npm.gemspec +0 -3
- data/dpl-openshift.gemspec +0 -3
- data/dpl-ops_works.gemspec +0 -3
- data/dpl-packagecloud.gemspec +0 -3
- data/dpl-pages.gemspec +0 -3
- data/dpl-puppet_forge.gemspec +0 -3
- data/dpl-pypi.gemspec +0 -3
- data/dpl-releases.gemspec +0 -8
- data/dpl-rubygems.gemspec +0 -3
- data/dpl-s3.gemspec +0 -3
- data/dpl-scalingo.gemspec +0 -3
- data/dpl-script.gemspec +0 -3
- data/dpl-snap.gemspec +0 -3
- data/dpl-surge.gemspec +0 -3
- data/dpl-testfairy.gemspec +0 -3
- data/dpl-transifex.gemspec +0 -3
- data/dpl.gemspec +0 -3
- data/gemspec_helper.rb +0 -51
- data/lib/dpl/error.rb +0 -3
- data/notes/engine_yard.md +0 -1
- data/notes/heroku.md +0 -3
- data/spec/cli_spec.rb +0 -36
- data/spec/provider_spec.rb +0 -191
- data/spec/spec_helper.rb +0 -20
data/README.md
CHANGED
@@ -1,968 +1,2238 @@
|
|
1
|
-
# Dpl [![Build Status](https://travis-ci.
|
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.png)](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
2
|
|
3
|
-
|
3
|
+
This version of the README documents dpl v2, the next major version of dpl.
|
4
|
+
The REAMDE 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).
|
4
6
|
|
5
|
-
|
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.2 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
|
+
Installation:
|
43
|
+
|
44
|
+
```
|
45
|
+
gem install dpl
|
46
|
+
```
|
47
|
+
|
48
|
+
## Usage
|
49
|
+
|
50
|
+
Dpl is meant and optimized for usage in ephemeral build environments, such
|
51
|
+
as Travis CI, or any other CI/CD pipeline.
|
52
|
+
|
53
|
+
Dpl is integrated to Travis CI's build configuration and build script compilation
|
54
|
+
tooling, so all you need to do is add the proper configuration to your `.travis.yml`
|
55
|
+
file. Please refer to [the documentation](https://docs.travis-ci.com/user/deployment)
|
56
|
+
for details.
|
57
|
+
|
58
|
+
For usage outside of Travis CI dpl can be executed as follows. Please refer to
|
59
|
+
the respective [providers](#supported-providers) for details.
|
60
|
+
|
61
|
+
```
|
62
|
+
dpl [provider] [options]
|
63
|
+
```
|
64
|
+
|
65
|
+
Dpl can be used locally, e.g. on your development machine, but it might leave
|
66
|
+
artifacts that may alter the behaviour of your system. If you encounter this
|
67
|
+
behaviour and it presents a serious issue to you then please open an
|
68
|
+
[issue](https://github.com/travis-ci/dpl/issues/new).
|
69
|
+
|
70
|
+
### Cleaning up the Git working directory
|
71
|
+
|
72
|
+
Dpl v1 has cleaned up the Git working directory by default, using `git stash
|
73
|
+
--all`. The default for this option has been changed in dpl v2, and users now
|
74
|
+
need to opt in to cleaning up any left over artifacts from the build process
|
75
|
+
by passing the option `--cleanup`.
|
76
|
+
|
77
|
+
The status of the working directory is relevant only to providers that package
|
78
|
+
and push it to the respective remote service (e.g. `heroku` when using the
|
79
|
+
`api` strategy, package registry providers, etc.). Most providers will either
|
80
|
+
push the latest Git commit, or pull code from a remote repository.
|
81
|
+
|
82
|
+
## Maturity Levels
|
83
|
+
|
84
|
+
In order to communicate the current development status and maturity of dpl's
|
85
|
+
support for a particular service the respective provider is marked with one of
|
86
|
+
the following maturity levels, according to the given criteria:
|
87
|
+
|
88
|
+
* `dev` - the provider is in development (initial level)
|
89
|
+
* `alpha` - the provider is fully tested
|
90
|
+
* `beta` - the provider has been in alpha for at least a month, and successful real-world production deployments have been observed
|
91
|
+
* `stable` - the provider has been in beta for at least two months, and there are no open issues that qualify as critical (such as deployments failing, documented functionality broken, etc)
|
92
|
+
|
93
|
+
## Supported Providers
|
6
94
|
|
7
|
-
## Supported Providers:
|
8
95
|
Dpl supports the following providers:
|
9
96
|
|
10
|
-
* [Anynines](#anynines)
|
11
|
-
* [Atlas
|
12
|
-
* [AWS
|
13
|
-
* [AWS Elastic Beanstalk](#elastic-beanstalk)
|
14
|
-
* [AWS
|
15
|
-
* [AWS
|
16
|
-
* [
|
17
|
-
* [
|
18
|
-
* [
|
19
|
-
* [Bluemix Cloud Foundry](#bluemix-cloud-foundry)
|
20
|
-
* [Boxfuse](#boxfuse)
|
21
|
-
* [
|
22
|
-
* [
|
23
|
-
* [
|
24
|
-
* [Cloud
|
25
|
-
* [
|
26
|
-
* [
|
27
|
-
* [
|
28
|
-
* [Firebase](#firebase)
|
29
|
-
* [
|
30
|
-
* [
|
31
|
-
* [Google App Engine
|
32
|
-
* [Google Cloud
|
33
|
-
* [Hackage](#hackage)
|
34
|
-
* [Hephy](#hephy)
|
35
|
-
* [Heroku](#heroku)
|
36
|
-
* [
|
37
|
-
* [Launchpad](#launchpad)
|
38
|
-
* [
|
39
|
-
* [npm](#npm)
|
40
|
-
* [OpenShift](#openshift)
|
41
|
-
* [
|
42
|
-
* [Puppet Forge](#puppet-forge)
|
43
|
-
* [
|
44
|
-
* [
|
45
|
-
* [
|
46
|
-
* [
|
47
|
-
* [
|
48
|
-
* [
|
49
|
-
* [
|
50
|
-
* [
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
In the example below, the following files are uploaded,
|
149
|
-
1. All gem files located under build/bin/ (including sub directories),
|
150
|
-
except for files under a the do-not-deploy directory.
|
151
|
-
The files will be uploaded to Bintray under the gems folder.
|
152
|
-
2. All files under build/docs. The files will be uploaded to Bintray under the docs folder.
|
153
|
-
|
154
|
-
Note: Regular expressions defined as part of the includePattern property must be wrapped with brackets. */
|
155
|
-
|
156
|
-
"files":
|
157
|
-
[
|
158
|
-
{"includePattern": "build/bin(.*)*/(.*\.gem)", "excludePattern": ".*/do-not-deploy/.*", "uploadPattern": "gems/$2"},
|
159
|
-
{"includePattern": "build/docs/(.*)", "uploadPattern": "docs/$1"}
|
160
|
-
],
|
161
|
-
"publish": true
|
162
|
-
}
|
163
|
-
```
|
164
|
-
|
165
|
-
#### Debian Upload
|
166
|
-
|
167
|
-
When artifacts are uploaded to a Debian repository using the Automatic index layout, the Debian distribution information is required and must be specified. The information is specified in the descriptor file by the matrixParams as part of the files closure as shown in the following example:
|
168
|
-
```groovy
|
169
|
-
"files":
|
170
|
-
[{"includePattern": "build/bin/(.*\.deb)", "uploadPattern": "$1",
|
171
|
-
"matrixParams": {
|
172
|
-
"deb_distribution": "vivid",
|
173
|
-
"deb_component": "main",
|
174
|
-
"deb_architecture": "amd64"}
|
175
|
-
}
|
176
|
-
]
|
177
|
-
```
|
178
|
-
|
179
|
-
#### Examples:
|
180
|
-
dpl --provider=bintray --file=<path> --user=<username> --key=<api-key>
|
181
|
-
dpl --provider=bintray --file=<path> --user=<username> --key=<api-key> --passphrase=<passphrase>
|
97
|
+
* [Anynines](#anynines)
|
98
|
+
* [Atlas](#atlas)
|
99
|
+
* [AWS Code Deploy](#aws-code-deploy)
|
100
|
+
* [AWS Elastic Beanstalk](#aws-elastic-beanstalk)
|
101
|
+
* [AWS Lambda](#aws-lambda)
|
102
|
+
* [AWS OpsWorks](#aws-opsworks)
|
103
|
+
* [AWS S3](#aws-s3)
|
104
|
+
* [Azure Web Apps](#azure-web-apps)
|
105
|
+
* [Bintray](#bintray)
|
106
|
+
* [Bluemix Cloud Foundry](#bluemix-cloud-foundry)
|
107
|
+
* [Boxfuse](#boxfuse)
|
108
|
+
* [Cargo](#cargo)
|
109
|
+
* [Chef Supermarket](#chef-supermarket)
|
110
|
+
* [Cloud Files](#cloud-files)
|
111
|
+
* [Cloud Foundry](#cloud-foundry)
|
112
|
+
* [Cloud66](#cloud66)
|
113
|
+
* [Datica](#datica)
|
114
|
+
* [Engineyard](#engineyard)
|
115
|
+
* [Firebase](#firebase)
|
116
|
+
* [GitHub Pages](#github-pages)
|
117
|
+
* [GitHub Releases](#github-releases)
|
118
|
+
* [Google App Engine](#google-app-engine)
|
119
|
+
* [Google Cloud Store](#google-cloud-store)
|
120
|
+
* [Hackage](#hackage)
|
121
|
+
* [Hephy](#hephy)
|
122
|
+
* [Heroku API](#heroku-api)
|
123
|
+
* [Heroku Git](#heroku-git)
|
124
|
+
* [Launchpad](#launchpad)
|
125
|
+
* [Netlify](#netlify)
|
126
|
+
* [npm](#npm)
|
127
|
+
* [OpenShift](#openshift)
|
128
|
+
* [Packagecloud](#packagecloud)
|
129
|
+
* [Puppet Forge](#puppet-forge)
|
130
|
+
* [PyPI](#pypi)
|
131
|
+
* [Rubygems](#rubygems)
|
132
|
+
* [Scalingo](#scalingo)
|
133
|
+
* [Script](#script)
|
134
|
+
* [Snap](#snap)
|
135
|
+
* [Surge](#surge)
|
136
|
+
* [TestFairy](#testfairy)
|
137
|
+
* [Transifex](#transifex)
|
138
|
+
|
139
|
+
|
140
|
+
### Anynines
|
141
|
+
|
142
|
+
```
|
143
|
+
Usage: dpl anynines [options]
|
144
|
+
|
145
|
+
Summary:
|
146
|
+
|
147
|
+
Anynines deployment provider
|
148
|
+
|
149
|
+
Description:
|
150
|
+
|
151
|
+
tbd
|
152
|
+
|
153
|
+
Support for deployments to Anynines is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
154
|
+
|
155
|
+
Options:
|
156
|
+
|
157
|
+
--username USER anynines username (type: string, required: true)
|
158
|
+
--password PASS anynines password (type: string, required: true)
|
159
|
+
--organization ORG anynines target organization (type: string, required: true)
|
160
|
+
--space SPACE anynines target space (type: string, required: true)
|
161
|
+
--app_name APP Application name (type: string)
|
162
|
+
--buildpack PACK Custom buildpack name or Git URL (type: string)
|
163
|
+
--manifest FILE Path to the manifest (type: string)
|
164
|
+
|
165
|
+
Common Options:
|
166
|
+
|
167
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
168
|
+
(string, can be given multiple times))
|
169
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
170
|
+
--help Get help on this command
|
171
|
+
|
172
|
+
Examples:
|
173
|
+
|
174
|
+
dpl anynines --username user --password pass --organization org --space space
|
175
|
+
dpl anynines --username user --password pass --organization org --space space --app_name app
|
176
|
+
```
|
177
|
+
|
178
|
+
### Atlas
|
179
|
+
|
180
|
+
```
|
181
|
+
Usage: dpl atlas [options]
|
182
|
+
|
183
|
+
Summary:
|
184
|
+
|
185
|
+
Atlas deployment provider
|
186
|
+
|
187
|
+
Description:
|
188
|
+
|
189
|
+
tbd
|
190
|
+
|
191
|
+
Support for deployments to Atlas is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
192
|
+
|
193
|
+
Options:
|
194
|
+
|
195
|
+
--app APP The Atlas application to upload to (type: string, required: true)
|
196
|
+
--token TOKEN The Atlas API token (type: string, required: true)
|
197
|
+
--paths PATH Files or directories to upload (type: array (string, can be given multiple
|
198
|
+
times), default: ["."])
|
199
|
+
--address ADDR The address of the Atlas server (type: string)
|
200
|
+
--include GLOB Glob pattern of files or directories to include (type: array (string, can be
|
201
|
+
given multiple times))
|
202
|
+
--exclude GLOB Glob pattern of files or directories to exclude (type: array (string, can be
|
203
|
+
given multiple times))
|
204
|
+
--metadata DATA Arbitrary key=value (string) metadata to be sent with the upload (type: array
|
205
|
+
(string, can be given multiple times))
|
206
|
+
--[no-]vcs Get lists of files to exclude and include from a VCS (Git, Mercurial or SVN)
|
207
|
+
--args ARGS Args to pass to the atlas-upload CLI (type: string)
|
208
|
+
--[no-]debug Turn on debug output
|
209
|
+
|
210
|
+
Common Options:
|
211
|
+
|
212
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
213
|
+
(string, can be given multiple times))
|
214
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
215
|
+
--help Get help on this command
|
216
|
+
|
217
|
+
Examples:
|
218
|
+
|
219
|
+
dpl atlas --app app --token token
|
220
|
+
dpl atlas --app app --token token --paths path --address addr --include glob
|
221
|
+
```
|
222
|
+
|
223
|
+
### AWS Code Deploy
|
224
|
+
|
225
|
+
```
|
226
|
+
Usage: dpl codedeploy [options]
|
227
|
+
|
228
|
+
Summary:
|
229
|
+
|
230
|
+
AWS Code Deploy deployment provider
|
231
|
+
|
232
|
+
Description:
|
233
|
+
|
234
|
+
tbd
|
182
235
|
|
236
|
+
Support for deployments to AWS Code Deploy is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
237
|
+
|
238
|
+
Options:
|
239
|
+
|
240
|
+
--access_key_id ID AWS access key (type: string, required: true)
|
241
|
+
--secret_access_key KEY AWS secret access key (type: string, required: true)
|
242
|
+
--application NAME CodeDeploy application name (type: string, required: true)
|
243
|
+
--deployment_group GROUP CodeDeploy deployment group name (type: string)
|
244
|
+
--revision_type TYPE CodeDeploy revision type (type: string, known values: s3, github, downcase:
|
245
|
+
true)
|
246
|
+
--commit_id SHA Commit ID in case of GitHub (type: string)
|
247
|
+
--repository NAME Repository name in case of GitHub (type: string)
|
248
|
+
--bucket NAME S3 bucket in case of S3 (type: string)
|
249
|
+
--region REGION AWS availability zone (type: string, default: us-east-1)
|
250
|
+
--file_exists_behavior STR How to handle files that already exist in a deployment target location (type:
|
251
|
+
string, default: disallow, known values: disallow, overwrite, retain)
|
252
|
+
--[no-]wait_until_deployed Wait until the deployment has finished
|
253
|
+
--bundle_type TYPE type: string
|
254
|
+
--endpoint ENDPOINT type: string
|
255
|
+
--key KEY type: string
|
256
|
+
--description DESCR type: string
|
257
|
+
|
258
|
+
Common Options:
|
259
|
+
|
260
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
261
|
+
(string, can be given multiple times))
|
262
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
263
|
+
--help Get help on this command
|
264
|
+
|
265
|
+
Examples:
|
266
|
+
|
267
|
+
dpl codedeploy --access_key_id id --secret_access_key key --application name
|
268
|
+
dpl codedeploy --access_key_id id --secret_access_key key --application name --deployment_group group --revision_type s3
|
269
|
+
```
|
270
|
+
|
271
|
+
### AWS Elastic Beanstalk
|
272
|
+
|
273
|
+
```
|
274
|
+
Usage: dpl elasticbeanstalk [options]
|
275
|
+
|
276
|
+
Summary:
|
277
|
+
|
278
|
+
AWS Elastic Beanstalk deployment provider
|
279
|
+
|
280
|
+
Description:
|
281
|
+
|
282
|
+
tbd
|
283
|
+
|
284
|
+
Support for deployments to AWS Elastic Beanstalk is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
285
|
+
|
286
|
+
Options:
|
287
|
+
|
288
|
+
--access_key_id ID AWS Access Key ID (type: string, required: true)
|
289
|
+
--secret_access_key KEY AWS Secret Key (type: string, required: true)
|
290
|
+
--region REGION AWS Region the Elastic Beanstalk app is running in (type: string, default:
|
291
|
+
us-east-1)
|
292
|
+
--app NAME Elastic Beanstalk application name (type: string, default: repo name)
|
293
|
+
--env NAME Elastic Beanstalk environment name which will be updated (type: string,
|
294
|
+
required: true)
|
295
|
+
--bucket NAME Bucket name to upload app to (type: string, required: true, alias: bucket_name)
|
296
|
+
--bucket_path PATH Location within Bucket to upload app to (type: string)
|
297
|
+
--description DESC Description for the application version (type: string)
|
298
|
+
--label LABEL Label for the application version (type: string)
|
299
|
+
--zip_file PATH The zip file that you want to deploy (type: string)
|
300
|
+
--[no-]only_create_app_version Only create the app version, do not actually deploy it
|
301
|
+
--[no-]wait_until_deployed Wait until the deployment has finished
|
302
|
+
|
303
|
+
Common Options:
|
304
|
+
|
305
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
306
|
+
(string, can be given multiple times))
|
307
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
308
|
+
--help Get help on this command
|
309
|
+
|
310
|
+
Examples:
|
311
|
+
|
312
|
+
dpl elasticbeanstalk --access_key_id id --secret_access_key key --env name --bucket name
|
313
|
+
dpl elasticbeanstalk --access_key_id id --secret_access_key key --env name --bucket name --region region
|
314
|
+
```
|
315
|
+
|
316
|
+
### AWS Lambda
|
317
|
+
|
318
|
+
```
|
319
|
+
Usage: dpl lambda [options]
|
320
|
+
|
321
|
+
Summary:
|
322
|
+
|
323
|
+
AWS Lambda deployment provider
|
324
|
+
|
325
|
+
Description:
|
326
|
+
|
327
|
+
tbd
|
328
|
+
|
329
|
+
Support for deployments to AWS Lambda is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
330
|
+
|
331
|
+
Options:
|
332
|
+
|
333
|
+
--access_key_id ID AWS access key id (type: string, required: true)
|
334
|
+
--secret_access_key KEY AWS secret key (type: string, required: true)
|
335
|
+
--region REGION AWS region the Lambda function is running in (type: string, default: us-east-1)
|
336
|
+
--function_name FUNC Name of the Lambda being created or updated (type: string, required: true)
|
337
|
+
--role ROLE ARN of the IAM role to assign to the Lambda function (type: string, note:
|
338
|
+
required for creating a new function)
|
339
|
+
--handler_name NAME Function the Lambda calls to begin execution. (type: string, note: required for
|
340
|
+
creating a new function)
|
341
|
+
--module_name NAME Name of the module that exports the handler (type: string, requires:
|
342
|
+
handler_name, default: index)
|
343
|
+
--description DESCR Description of the Lambda being created or updated (type: string)
|
344
|
+
--timeout SECS Function execution time (in seconds) at which Lambda should terminate the
|
345
|
+
function (type: string, default: 3)
|
346
|
+
--memory_size MB Amount of memory in MB to allocate to this Lambda (type: string, default: 128)
|
347
|
+
--subnet_ids IDS List of subnet IDs to be added to the function (type: array (string, can be
|
348
|
+
given multiple times), note: Needs the ec2:DescribeSubnets and ec2:DescribeVpcs
|
349
|
+
permission for the user of the access/secret key to work)
|
350
|
+
--security_group_ids IDS List of security group IDs to be added to the function (type: array (string, can
|
351
|
+
be given multiple times), note: Needs the ec2:DescribeSecurityGroups and
|
352
|
+
ec2:DescribeVpcs permission for the user of the access/secret key to work)
|
353
|
+
--environment VARS List of Environment Variables to add to the function (type: array (string, can
|
354
|
+
be given multiple times), alias: environment_variables, format: /[\w\-]+=.+/,
|
355
|
+
note: Can be encrypted for added security)
|
356
|
+
--runtime NAME Lambda runtime to use (type: string, default: nodejs8.10, known values: java8,
|
357
|
+
nodejs8.10, nodejs10.x, python2.7, python3.6, python3.7, dotnetcore2.1, go1.x,
|
358
|
+
ruby2.5)
|
359
|
+
--dead_letter_arn ARN ARN to an SNS or SQS resource used for the dead letter queue. (type: string)
|
360
|
+
--kms_key_arn ARN KMS key ARN to use to encrypt environment_variables. (type: string)
|
361
|
+
--tracing_mode MODE Tracing mode (type: string, default: PassThrough, known values: Active,
|
362
|
+
PassThrough, note: Needs xray:PutTraceSegments xray:PutTelemetryRecords on the
|
363
|
+
role)
|
364
|
+
--layers LAYERS Function layer arns (type: array (string, can be given multiple times))
|
365
|
+
--function_tags TAGS List of tags to add to the function (type: array (string, can be given multiple
|
366
|
+
times), format: /[\w\-]+=.+/, note: Can be encrypted for added security)
|
367
|
+
--[no-]publish Create a new version of the code instead of replacing the existing one.
|
368
|
+
--zip PATH Path to a packaged Lambda, a directory to package, or a single file to package
|
369
|
+
(type: string, default: .)
|
370
|
+
--[no-]dot_match Include hidden .* files to the zipped archive
|
371
|
+
|
372
|
+
Common Options:
|
373
|
+
|
374
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
375
|
+
(string, can be given multiple times))
|
376
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
377
|
+
--help Get help on this command
|
378
|
+
|
379
|
+
Examples:
|
380
|
+
|
381
|
+
dpl lambda --access_key_id id --secret_access_key key --function_name func
|
382
|
+
dpl lambda --access_key_id id --secret_access_key key --function_name func --region region --role role
|
383
|
+
```
|
384
|
+
|
385
|
+
### AWS OpsWorks
|
386
|
+
|
387
|
+
```
|
388
|
+
Usage: dpl opsworks [options]
|
389
|
+
|
390
|
+
Summary:
|
391
|
+
|
392
|
+
AWS OpsWorks deployment provider
|
393
|
+
|
394
|
+
Description:
|
395
|
+
|
396
|
+
tbd
|
397
|
+
|
398
|
+
Support for deployments to AWS OpsWorks is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
399
|
+
|
400
|
+
Options:
|
401
|
+
|
402
|
+
--access_key_id ID AWS access key id (type: string, required: true)
|
403
|
+
--secret_access_key KEY AWS secret key (type: string, required: true)
|
404
|
+
--app_id APP The app id (type: string, required: true)
|
405
|
+
--region REGION AWS region (type: string, default: us-east-1)
|
406
|
+
--instance_ids ID An instance id (type: array (string, can be given multiple times))
|
407
|
+
--layer_ids ID A layer id (type: array (string, can be given multiple times))
|
408
|
+
--[no-]migrate Migrate the database.
|
409
|
+
--[no-]wait_until_deployed Wait until the app is deployed and return the deployment status.
|
410
|
+
--[no-]update_on_success When wait-until-deployed and updated-on-success are both not given, application
|
411
|
+
source is updated to the current SHA. Ignored when wait-until-deployed is not
|
412
|
+
given. (alias: update_app_on_success)
|
413
|
+
--custom_json JSON Custom json options override (overwrites default configuration) (type: string)
|
414
|
+
|
415
|
+
Common Options:
|
416
|
+
|
417
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
418
|
+
(string, can be given multiple times))
|
419
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
420
|
+
--help Get help on this command
|
421
|
+
|
422
|
+
Examples:
|
423
|
+
|
424
|
+
dpl opsworks --access_key_id id --secret_access_key key --app_id app
|
425
|
+
dpl opsworks --access_key_id id --secret_access_key key --app_id app --region region --instance_ids id
|
426
|
+
```
|
427
|
+
|
428
|
+
### AWS S3
|
429
|
+
|
430
|
+
```
|
431
|
+
Usage: dpl s3 [options]
|
432
|
+
|
433
|
+
Summary:
|
434
|
+
|
435
|
+
AWS S3 deployment provider
|
436
|
+
|
437
|
+
Description:
|
438
|
+
|
439
|
+
tbd
|
440
|
+
|
441
|
+
Support for deployments to AWS S3 is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
442
|
+
|
443
|
+
Options:
|
444
|
+
|
445
|
+
--access_key_id ID AWS access key id (type: string, required: true)
|
446
|
+
--secret_access_key KEY AWS secret key (type: string, required: true)
|
447
|
+
--bucket BUCKET S3 bucket (type: string, required: true)
|
448
|
+
--region REGION S3 region (type: string, default: us-east-1)
|
449
|
+
--endpoint URL S3 endpoint (type: string)
|
450
|
+
--upload_dir DIR S3 directory to upload to (type: string)
|
451
|
+
--storage_class CLASS S3 storage class to upload as (type: string, default: STANDARD, known values:
|
452
|
+
STANDARD, STANDARD_IA, REDUCED_REDUNDANCY)
|
453
|
+
--[no-]server_side_encryption Use S3 Server Side Encryption (SSE-AES256)
|
454
|
+
--local_dir DIR Local directory to upload from (type: string, default: ., e.g.: ~/travis/build
|
455
|
+
(absolute path) or ./build (relative path))
|
456
|
+
--[no-]detect_encoding HTTP header Content-Encoding for files compressed with gzip and compress
|
457
|
+
utilities
|
458
|
+
--cache_control STR HTTP header Cache-Control to suggest that the browser cache the file (type:
|
459
|
+
array (string, can be given multiple times), default: no-cache, known values:
|
460
|
+
/^no-cache.*/, /^no-store.*/, /^max-age=\d+.*/, /^s-maxage=\d+.*/,
|
461
|
+
/^no-transform/, /^public/, /^private/, note: accepts mapping values to globs)
|
462
|
+
--expires DATE Date and time that the cached object expires (type: array (string, can be given
|
463
|
+
multiple times), format: /^"?\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} .+"?.*$/, note:
|
464
|
+
accepts mapping values to globs)
|
465
|
+
--acl ACL Access control for the uploaded objects (type: string, default: private, known
|
466
|
+
values: private, public_read, public_read_write, authenticated_read,
|
467
|
+
bucket_owner_read, bucket_owner_full_control)
|
468
|
+
--[no-]dot_match Upload hidden files starting with a dot
|
469
|
+
--index_document_suffix SUFFIX Index document suffix of a S3 website (type: string)
|
470
|
+
--default_text_charset CHARSET Default character set to append to the content-type of text files (type: string)
|
471
|
+
--max_threads NUM The number of threads to use for S3 file uploads (type: integer, default: 5,
|
472
|
+
max: 15)
|
473
|
+
--[no-]overwrite Whether or not to overwrite existing files (default: true)
|
474
|
+
--[no-]verbose Be verbose about uploading files
|
475
|
+
|
476
|
+
Common Options:
|
477
|
+
|
478
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
479
|
+
(string, can be given multiple times))
|
480
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
481
|
+
--help Get help on this command
|
482
|
+
|
483
|
+
Examples:
|
484
|
+
|
485
|
+
dpl s3 --access_key_id id --secret_access_key key --bucket bucket
|
486
|
+
dpl s3 --access_key_id id --secret_access_key key --bucket bucket --region region --endpoint url
|
487
|
+
```
|
488
|
+
|
489
|
+
### Azure Web Apps
|
490
|
+
|
491
|
+
```
|
492
|
+
Usage: dpl azure_web_apps [options]
|
493
|
+
|
494
|
+
Summary:
|
495
|
+
|
496
|
+
Azure Web Apps deployment provider
|
497
|
+
|
498
|
+
Description:
|
499
|
+
|
500
|
+
tbd
|
501
|
+
|
502
|
+
Support for deployments to Azure Web Apps is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
503
|
+
|
504
|
+
Options:
|
505
|
+
|
506
|
+
--site SITE Web App name (e.g. myapp in myapp.azurewebsites.net) (type: string, required:
|
507
|
+
true)
|
508
|
+
--username NAME Web App Deployment Username (type: string, required: true)
|
509
|
+
--password PASS Web App Deployment Password (type: string, required: true)
|
510
|
+
--slot SLOT Slot name (if your app uses staging deployment) (type: string)
|
511
|
+
--[no-]verbose Print deployment output from Azure. Warning: If authentication fails, Git prints
|
512
|
+
credentials in clear text. Correct credentials remain hidden.
|
513
|
+
|
514
|
+
Common Options:
|
515
|
+
|
516
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
517
|
+
(string, can be given multiple times))
|
518
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
519
|
+
--help Get help on this command
|
520
|
+
|
521
|
+
Examples:
|
522
|
+
|
523
|
+
dpl azure_web_apps --site site --username name --password pass
|
524
|
+
dpl azure_web_apps --site site --username name --password pass --slot slot --verbose
|
525
|
+
```
|
526
|
+
|
527
|
+
### Bintray
|
528
|
+
|
529
|
+
```
|
530
|
+
Usage: dpl bintray [options]
|
531
|
+
|
532
|
+
Summary:
|
533
|
+
|
534
|
+
Bintray deployment provider
|
535
|
+
|
536
|
+
Description:
|
537
|
+
|
538
|
+
tbd
|
539
|
+
|
540
|
+
Support for deployments to Bintray is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
541
|
+
|
542
|
+
Options:
|
543
|
+
|
544
|
+
--user USER Bintray user (type: string, required: true)
|
545
|
+
--key KEY Bintray API key (type: string, required: true)
|
546
|
+
--file FILE Path to a descriptor file for the Bintray upload (type: string, required: true)
|
547
|
+
--passphrase PHRASE Passphrase as configured on Bintray (if GPG signing is used) (type: string)
|
548
|
+
|
549
|
+
Common Options:
|
550
|
+
|
551
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
552
|
+
(string, can be given multiple times))
|
553
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
554
|
+
--help Get help on this command
|
555
|
+
|
556
|
+
Examples:
|
557
|
+
|
558
|
+
dpl bintray --user user --key key --file file
|
559
|
+
dpl bintray --user user --key key --file file --passphrase phrase --run cmd
|
560
|
+
```
|
561
|
+
|
562
|
+
### Bluemix Cloud Foundry
|
563
|
+
|
564
|
+
```
|
565
|
+
Usage: dpl bluemixcloudfoundry [options]
|
566
|
+
|
567
|
+
Summary:
|
568
|
+
|
569
|
+
Bluemix Cloud Foundry deployment provider
|
570
|
+
|
571
|
+
Description:
|
572
|
+
|
573
|
+
tbd
|
574
|
+
|
575
|
+
Support for deployments to Bluemix Cloud Foundry is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
576
|
+
|
577
|
+
Options:
|
578
|
+
|
579
|
+
--username USER Bluemix username (type: string, required: true)
|
580
|
+
--password PASS Bluemix password (type: string, required: true)
|
581
|
+
--organization ORG Bluemix target organization (type: string, required: true)
|
582
|
+
--space SPACE Bluemix target space (type: string, required: true)
|
583
|
+
--region REGION Bluemix region (type: string, default: ng, known values: ng, eu-gb, eu-de,
|
584
|
+
au-syd)
|
585
|
+
--api URL Bluemix api URL (type: string)
|
586
|
+
--app_name APP Application name (type: string)
|
587
|
+
--buildpack PACK Custom buildpack name or Git URL (type: string)
|
588
|
+
--manifest FILE Path to the manifest (type: string)
|
589
|
+
--[no-]skip_ssl_validation Skip SSL validation
|
590
|
+
|
591
|
+
Common Options:
|
592
|
+
|
593
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
594
|
+
(string, can be given multiple times))
|
595
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
596
|
+
--help Get help on this command
|
597
|
+
|
598
|
+
Examples:
|
599
|
+
|
600
|
+
dpl bluemixcloudfoundry --username user --password pass --organization org --space space
|
601
|
+
dpl bluemixcloudfoundry --username user --password pass --organization org --space space --region ng
|
602
|
+
```
|
183
603
|
|
184
604
|
### Boxfuse
|
185
605
|
|
186
|
-
|
606
|
+
```
|
607
|
+
Usage: dpl boxfuse [options]
|
608
|
+
|
609
|
+
Summary:
|
610
|
+
|
611
|
+
Boxfuse deployment provider
|
612
|
+
|
613
|
+
Description:
|
614
|
+
|
615
|
+
tbd
|
616
|
+
|
617
|
+
Support for deployments to Boxfuse is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
618
|
+
|
619
|
+
Options:
|
620
|
+
|
621
|
+
--user USER type: string, required: true
|
622
|
+
--secret SECRET type: string, required: true
|
623
|
+
--config_file FILE type: string, alias: configfile (deprecated, please use config_file)
|
624
|
+
--payload PAYLOAD type: string
|
625
|
+
--app APP type: string
|
626
|
+
--version VERSION type: string
|
627
|
+
--env ENV type: string
|
628
|
+
--extra_args ARGS type: string
|
629
|
+
|
630
|
+
Common Options:
|
631
|
+
|
632
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
633
|
+
(string, can be given multiple times))
|
634
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
635
|
+
--help Get help on this command
|
636
|
+
|
637
|
+
Examples:
|
638
|
+
|
639
|
+
dpl boxfuse --user user --secret secret
|
640
|
+
dpl boxfuse --user user --secret secret --config_file file --payload payload --app app
|
641
|
+
```
|
642
|
+
|
643
|
+
### Cargo
|
644
|
+
|
645
|
+
```
|
646
|
+
Usage: dpl cargo [options]
|
647
|
+
|
648
|
+
Summary:
|
649
|
+
|
650
|
+
Cargo deployment provider
|
651
|
+
|
652
|
+
Description:
|
653
|
+
|
654
|
+
tbd
|
655
|
+
|
656
|
+
Support for deployments to Cargo is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
657
|
+
|
658
|
+
Options:
|
659
|
+
|
660
|
+
--token TOKEN Cargo registry API token (type: string, required: true)
|
661
|
+
|
662
|
+
Common Options:
|
663
|
+
|
664
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
665
|
+
(string, can be given multiple times))
|
666
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
667
|
+
--help Get help on this command
|
668
|
+
|
669
|
+
Examples:
|
670
|
+
|
671
|
+
dpl cargo --token token
|
672
|
+
dpl cargo --token token --run cmd --cleanup
|
673
|
+
```
|
674
|
+
|
675
|
+
### Chef Supermarket
|
676
|
+
|
677
|
+
```
|
678
|
+
Usage: dpl chef_supermarket [options]
|
679
|
+
|
680
|
+
Summary:
|
681
|
+
|
682
|
+
Chef Supermarket deployment provider
|
683
|
+
|
684
|
+
Description:
|
685
|
+
|
686
|
+
tbd
|
687
|
+
|
688
|
+
Support for deployments to Chef Supermarket is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
689
|
+
|
690
|
+
Options:
|
691
|
+
|
692
|
+
--user_id ID Chef Supermarket user name (type: string, required: true)
|
693
|
+
--client_key KEY Client API key file name (type: string, required: true)
|
694
|
+
--name NAME Cookbook name (type: string, alias: cookbook_name, note: defaults to the name
|
695
|
+
given in metadata.json or metadata.rb)
|
696
|
+
--category CAT Cookbook category in Supermarket (type: string, required: true, alias:
|
697
|
+
cookbook_category, see: https://docs.getchef.com/knife_cookbook_site.html#id12)
|
698
|
+
--dir DIR Directory containing the cookbook (type: string, default: .)
|
699
|
+
|
700
|
+
Common Options:
|
701
|
+
|
702
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
703
|
+
(string, can be given multiple times))
|
704
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
705
|
+
--help Get help on this command
|
706
|
+
|
707
|
+
Examples:
|
708
|
+
|
709
|
+
dpl chef_supermarket --user_id id --client_key key --category cat
|
710
|
+
dpl chef_supermarket --user_id id --client_key key --category cat --name name --dir dir
|
711
|
+
```
|
712
|
+
|
713
|
+
### Cloud Files
|
714
|
+
|
715
|
+
```
|
716
|
+
Usage: dpl cloudfiles [options]
|
717
|
+
|
718
|
+
Summary:
|
719
|
+
|
720
|
+
Cloud Files deployment provider
|
721
|
+
|
722
|
+
Description:
|
723
|
+
|
724
|
+
tbd
|
725
|
+
|
726
|
+
Support for deployments to Cloud Files is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
727
|
+
|
728
|
+
Options:
|
729
|
+
|
730
|
+
--username USER Rackspace username (type: string, required: true)
|
731
|
+
--api_key KEY Rackspace API key (type: string, required: true)
|
732
|
+
--region REGION Cloudfiles region (type: string, required: true, known values: ord, dfw, syd,
|
733
|
+
iad, hkg)
|
734
|
+
--container NAME Name of the container that files will be uploaded to (type: string, required:
|
735
|
+
true)
|
736
|
+
--glob GLOB Paths to upload (type: string, default: **/*)
|
737
|
+
--[no-]dot_match Upload hidden files starting a dot
|
738
|
+
|
739
|
+
Common Options:
|
740
|
+
|
741
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
742
|
+
(string, can be given multiple times))
|
743
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
744
|
+
--help Get help on this command
|
745
|
+
|
746
|
+
Examples:
|
747
|
+
|
748
|
+
dpl cloudfiles --username user --api_key key --region ord --container name
|
749
|
+
dpl cloudfiles --username user --api_key key --region ord --container name --glob glob
|
750
|
+
```
|
751
|
+
|
752
|
+
### Cloud Foundry
|
753
|
+
|
754
|
+
```
|
755
|
+
Usage: dpl cloudfoundry [options]
|
756
|
+
|
757
|
+
Summary:
|
758
|
+
|
759
|
+
Cloud Foundry deployment provider
|
760
|
+
|
761
|
+
Description:
|
762
|
+
|
763
|
+
tbd
|
764
|
+
|
765
|
+
Support for deployments to Cloud Foundry is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
766
|
+
|
767
|
+
Options:
|
768
|
+
|
769
|
+
--username USER Cloud Foundry username (type: string, required: true)
|
770
|
+
--password PASS Cloud Foundry password (type: string, required: true)
|
771
|
+
--organization ORG Cloud Foundry target organization (type: string, required: true)
|
772
|
+
--space SPACE Cloud Foundry target space (type: string, required: true)
|
773
|
+
--api URL Cloud Foundry api URL (type: string, required: true)
|
774
|
+
--app_name APP Application name (type: string)
|
775
|
+
--buildpack PACK Custom buildpack name or Git URL (type: string)
|
776
|
+
--manifest FILE Path to the manifest (type: string)
|
777
|
+
--[no-]skip_ssl_validation Skip SSL validation
|
778
|
+
--[no-]v3 Use the v3 API version to push the application
|
779
|
+
|
780
|
+
Common Options:
|
781
|
+
|
782
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
783
|
+
(string, can be given multiple times))
|
784
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
785
|
+
--help Get help on this command
|
786
|
+
|
787
|
+
Examples:
|
788
|
+
|
789
|
+
dpl cloudfoundry --username user --password pass --organization org --space space --api url
|
790
|
+
```
|
791
|
+
|
792
|
+
### Cloud66
|
793
|
+
|
794
|
+
```
|
795
|
+
Usage: dpl cloud66 [options]
|
796
|
+
|
797
|
+
Summary:
|
798
|
+
|
799
|
+
Cloud66 deployment provider
|
800
|
+
|
801
|
+
Description:
|
802
|
+
|
803
|
+
tbd
|
804
|
+
|
805
|
+
Support for deployments to Cloud66 is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
806
|
+
|
807
|
+
Options:
|
808
|
+
|
809
|
+
--redeployment_hook URL The redeployment hook URL (type: string, required: true)
|
810
|
+
|
811
|
+
Common Options:
|
812
|
+
|
813
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
814
|
+
(string, can be given multiple times))
|
815
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
816
|
+
--help Get help on this command
|
817
|
+
|
818
|
+
Examples:
|
819
|
+
|
820
|
+
dpl cloud66 --redeployment_hook url
|
821
|
+
dpl cloud66 --redeployment_hook url --run cmd --cleanup
|
822
|
+
```
|
823
|
+
|
824
|
+
### Datica
|
825
|
+
|
826
|
+
```
|
827
|
+
Usage: dpl datica [options]
|
828
|
+
|
829
|
+
Summary:
|
830
|
+
|
831
|
+
Datica deployment provider
|
832
|
+
|
833
|
+
Description:
|
834
|
+
|
835
|
+
tbd
|
836
|
+
|
837
|
+
Support for deployments to Datica is in development. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
838
|
+
|
839
|
+
Options:
|
840
|
+
|
841
|
+
--target TARGET The git remote repository to deploy to (type: string, required: true)
|
842
|
+
--path PATH Path to files to deploy (type: string, default: .)
|
843
|
+
|
844
|
+
Common Options:
|
187
845
|
|
188
|
-
|
846
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
847
|
+
(string, can be given multiple times))
|
848
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
849
|
+
--help Get help on this command
|
189
850
|
|
190
|
-
|
191
|
-
* **secret**: Your Boxfuse secret
|
192
|
-
* **configfile**: The Boxfuse configuration file to use (default: boxfuse.conf)
|
193
|
-
* **payload**: The file to use as a payload for the image
|
194
|
-
* **app**: The Boxfuse app to deploy (default: auto-detected based on payload file name)
|
195
|
-
* **version**: The version to assign to the image (default: auto-detected based on payload file name)
|
196
|
-
* **env**: The Boxfuse environment to deploy to (default: test)
|
851
|
+
Examples:
|
197
852
|
|
198
|
-
|
853
|
+
dpl datica --target target
|
854
|
+
dpl datica --target target --path path --run cmd --cleanup
|
855
|
+
```
|
856
|
+
|
857
|
+
### Engineyard
|
858
|
+
|
859
|
+
```
|
860
|
+
Usage: dpl engineyard [options]
|
199
861
|
|
200
|
-
|
862
|
+
Summary:
|
201
863
|
|
202
|
-
|
864
|
+
Engineyard deployment provider
|
203
865
|
|
204
|
-
|
205
|
-
* **BOXFUSE_SECRET**: Your Boxfuse secret
|
866
|
+
Description:
|
206
867
|
|
207
|
-
|
208
|
-
dpl --provider=boxfuse
|
209
|
-
dpl --provider=boxfuse --user=<your-boxfuse-user> --secret=<your-boxfuse-secret> --env=<your-boxfuse-environment>
|
210
|
-
dpl --provider=boxfuse --configfile=<your-boxfuse-config-file>
|
868
|
+
tbd
|
211
869
|
|
870
|
+
Support for deployments to Engineyard is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
212
871
|
|
213
|
-
|
872
|
+
Options:
|
214
873
|
|
215
|
-
|
874
|
+
Either api_key, or email and password are required.
|
216
875
|
|
217
|
-
|
218
|
-
|
876
|
+
--api_key KEY Engine Yard API key (type: string)
|
877
|
+
--email EMAIL Engine Yard account email (type: string)
|
878
|
+
--password PASS Engine Yard password (type: string)
|
879
|
+
--app APP Engine Yard application name (type: string, default: repo name)
|
880
|
+
--env ENV Engine Yard application environment (type: string, alias: environment)
|
881
|
+
--migrate CMD Engine Yard migration commands (type: string)
|
882
|
+
--account NAME Engine Yard account name (type: string)
|
219
883
|
|
220
|
-
|
221
|
-
dpl --provider=nodejitsu --username=<username> --api-key=<api-key>
|
884
|
+
Common Options:
|
222
885
|
|
223
|
-
|
886
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
887
|
+
(string, can be given multiple times))
|
888
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
889
|
+
--help Get help on this command
|
224
890
|
|
225
|
-
|
891
|
+
Examples:
|
226
892
|
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
* **environment**: Engine Yard Application Environment. Optional.
|
232
|
-
* **migrate**: Engine Yard migration commands. Optional.
|
893
|
+
dpl engineyard --api_key key
|
894
|
+
dpl engineyard --email email --password pass
|
895
|
+
dpl engineyard --api_key key --app app --env env --migrate cmd --account name
|
896
|
+
```
|
233
897
|
|
234
|
-
|
898
|
+
### Firebase
|
235
899
|
|
236
|
-
|
237
|
-
|
238
|
-
dpl --provider=engineyard --api-key=<api-key> --app=<application> --migrate=`rake db:migrate`
|
900
|
+
```
|
901
|
+
Usage: dpl firebase [options]
|
239
902
|
|
240
|
-
|
903
|
+
Summary:
|
241
904
|
|
242
|
-
|
905
|
+
Firebase deployment provider
|
243
906
|
|
244
|
-
|
245
|
-
* **password**: Openshift Password.
|
246
|
-
* **domain**: Openshift Application Domain.
|
247
|
-
* **app**: Openshift Application. Defaults to git repo's name.
|
907
|
+
Description:
|
248
908
|
|
249
|
-
|
909
|
+
tbd
|
250
910
|
|
251
|
-
|
252
|
-
dpl --provider=openshift --user=<username> --password=<password> --domain=<domain> --app=<app>
|
911
|
+
Support for deployments to Firebase is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
253
912
|
|
254
|
-
|
913
|
+
Options:
|
255
914
|
|
256
|
-
|
915
|
+
--token TOKEN Firebase CI access token (generate with firebase login:ci) (type: string,
|
916
|
+
required: true)
|
917
|
+
--project NAME Firebase project to deploy to (defaults to the one specified in your
|
918
|
+
firebase.json) (type: string)
|
919
|
+
--message MSG Message describing this deployment. (type: string)
|
920
|
+
--only SERVICES Firebase services to deploy (type: string, note: can be a comma-separated list)
|
921
|
+
--[no-]force Whether or not to delete Cloud Functions missing from the current working
|
922
|
+
directory
|
257
923
|
|
258
|
-
|
259
|
-
* **gemspec**: Optional. The name of the `gemspec` file to use to build the gem.
|
260
|
-
* **gemspec_glob**: Optional. A glob pattern to search for gemspec files when multiple gems are generated in the repository.
|
261
|
-
This _overrides_ the `gemspec` option.
|
924
|
+
Common Options:
|
262
925
|
|
263
|
-
|
926
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
927
|
+
(string, can be given multiple times))
|
928
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
929
|
+
--help Get help on this command
|
264
930
|
|
265
|
-
|
931
|
+
Examples:
|
266
932
|
|
267
|
-
|
933
|
+
dpl firebase --token token
|
934
|
+
dpl firebase --token token --project name --message msg --only services --force
|
935
|
+
```
|
268
936
|
|
269
|
-
|
937
|
+
### GitHub Pages
|
270
938
|
|
271
|
-
|
272
|
-
|
273
|
-
* **server**: Optional. Only required if you want to release to a different index. Follows the form of 'https://mypackageindex.com/index'. Defaults to 'https://upload.pypi.org/legacy/'.
|
274
|
-
* **distributions**: Optional. A space-separated list of distributions to be uploaded to PyPI. Defaults to 'sdist'.
|
275
|
-
* **skip_upload_docs**: Optional. When set to `false`, documentation is uploaded. Defaults to `true`.
|
276
|
-
Note that upload.pypi.org does not support document uploading. If you set
|
277
|
-
this option to `false`, your deployment fails, unless you specify the server
|
278
|
-
that supports this option. See https://github.com/travis-ci/dpl/issues/660
|
279
|
-
for details.
|
280
|
-
* **docs_dir**: Optional. A path to the directory to upload documentation from. Defaults to 'build/docs'
|
281
|
-
* **skip_existing**: Optional. When set to `true`, the deployment will not fail if a file with the same name already exists on the server. It won't be uploaded and will not overwrite the existing file. Defaults to `false`.
|
939
|
+
```
|
940
|
+
Usage: dpl pages [options]
|
282
941
|
|
283
|
-
|
942
|
+
Summary:
|
284
943
|
|
285
|
-
|
286
|
-
* **PYPI_PASSWORD**: PyPI Password. Used if the `password` option is omitted.
|
287
|
-
* **PYPI_SERVER** Optional. Only required if you want to release to a different index. Used if the `server` option is omitted.
|
288
|
-
* **PYPI_DISTRIBUTIONS** Optional. A space-separated list of distributions to be uploaded to PyPI. Used if the `distributions` option is omitted.
|
289
|
-
* **PYPI_DOCS_DIR** Optional. A path to the directory to upload documentation from. Used if the `docs_dir` option is omitted.
|
944
|
+
GitHub Pages deployment provider
|
290
945
|
|
291
|
-
|
946
|
+
Description:
|
292
947
|
|
293
|
-
|
294
|
-
dpl --provider=pypi --user=<username> --password=<password> --server='https://mypackageindex.com/index' --distributions='sdist bdist_wheel'
|
948
|
+
tbd
|
295
949
|
|
296
|
-
|
950
|
+
Support for deployments to GitHub Pages is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
297
951
|
|
298
|
-
|
952
|
+
Options:
|
299
953
|
|
300
|
-
|
301
|
-
* **api-key**: your [npm token](https://docs.npmjs.com/creating-and-viewing-authentication-tokens). _Can be retrieved from your ~/.npmrc file._
|
954
|
+
Either github_token, or deploy_key are required.
|
302
955
|
|
303
|
-
|
956
|
+
--github_token TOKEN GitHub oauth token with repo permission (type: string)
|
957
|
+
--deploy_key KEY A base64-encoded, private deploy key with write access to the repository (type:
|
958
|
+
string, note: RSA keys are too long to fit into a Travis CI secure variable, but
|
959
|
+
ECDSA-521 fits, see:
|
960
|
+
https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys)
|
961
|
+
--repo SLUG Repo slug (type: string, default: repo slug)
|
962
|
+
--target_branch BRANCH Branch to push force to (type: string, default: gh-pages)
|
963
|
+
--[no-]keep_history Create incremental commit instead of doing push force (default: true)
|
964
|
+
--commit_message MSG type: string, default: Deploy %{project_name} to %{url}:%{target_branch}
|
965
|
+
--[no-]allow_empty_commit Allow an empty commit to be created (requires: keep_history)
|
966
|
+
--[no-]committer_from_gh Use the token's owner name and email for commit. Overrides the email and name
|
967
|
+
options
|
968
|
+
--[no-]verbose Be verbose about the deploy process
|
969
|
+
--local_dir DIR Directory to push to GitHub Pages (type: string, default: .)
|
970
|
+
--fqdn FQDN Writes your website's domain name to the CNAME file (type: string)
|
971
|
+
--project_name NAME Used in the commit message only (defaults to fqdn or the current repo slug)
|
972
|
+
(type: string)
|
973
|
+
--email EMAIL Committer email (type: string, default: deploy@travis-ci.org)
|
974
|
+
--name NAME Committer name (type: string, default: Deploy Bot)
|
975
|
+
--[no-]deployment_file Enable creation of a deployment-info file
|
976
|
+
--github_url URL type: string, default: github.com
|
304
977
|
|
305
|
-
|
978
|
+
Common Options:
|
306
979
|
|
307
|
-
|
980
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
981
|
+
(string, can be given multiple times))
|
982
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
983
|
+
--help Get help on this command
|
308
984
|
|
309
|
-
|
985
|
+
Examples:
|
310
986
|
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
* **endpoint**: S3 Endpoint. Default is computed for you.
|
316
|
-
* **upload-dir**: S3 directory to upload to. Defaults to root directory.
|
317
|
-
* **storage-class**: S3 storage class to upload as. Defaults to "STANDARD". Other values are "STANDARD_IA" or "REDUCED_REDUNDANCY". Details can be found [here](https://aws.amazon.com/s3/storage-classes/).
|
318
|
-
* **server-side-encryption**: When set to `true`, use S3 Server Side Encryption (SSE-AES256). Defaults to `false`.
|
319
|
-
* **local-dir**: Local directory to upload from. Can be set from a global perspective (~/travis/build) or relative perspective (build) Defaults to project root.
|
320
|
-
* **detect-encoding**: Set HTTP header `Content-Encoding` for files compressed with `gzip` and `compress` utilities. Defaults to not set.
|
321
|
-
* **cache_control**: Set HTTP header `Cache-Control` to suggest that the browser cache the file. Defaults to `no-cache`. Valid options are `no-cache`, `no-store`, `max-age=<seconds>`,`s-maxage=<seconds>` `no-transform`, `public`, `private`.
|
322
|
-
* **expires**: This sets the date and time that the cached object is no longer cacheable. Defaults to not set. The date must be in the format `YYYY-MM-DD HH:MM:SS -ZONE`.
|
323
|
-
* **acl**: Sets the access control for the uploaded objects. Defaults to `private`. Valid options are `private`, `public_read`, `public_read_write`, `authenticated_read`, `bucket_owner_read`, `bucket_owner_full_control`.
|
324
|
-
* **dot_match**: When set to `true`, upload files starting a `.`.
|
325
|
-
* **index_document_suffix**: Set the index document of a S3 website.
|
326
|
-
* **default_text_charset**: Set the default character set to append to the content-type of text files you are uploading.
|
327
|
-
* **max_threads**: The number of threads to use for S3 file uploads. Default is 5, and the absolute maximum is 15.
|
987
|
+
dpl pages --github_token token
|
988
|
+
dpl pages --deploy_key key
|
989
|
+
dpl pages --github_token token --repo slug --target_branch branch --keep_history --commit_message msg
|
990
|
+
```
|
328
991
|
|
329
|
-
|
992
|
+
### GitHub Releases
|
330
993
|
|
331
|
-
|
994
|
+
```
|
995
|
+
Usage: dpl releases [options]
|
332
996
|
|
333
|
-
|
997
|
+
Summary:
|
334
998
|
|
335
|
-
|
336
|
-
* **AWS_SECRET_ACCESS_KEY**: AWS Secret Key. Used if the `secret-access-key` option is omitted.
|
999
|
+
GitHub Releases deployment provider
|
337
1000
|
|
338
|
-
|
1001
|
+
Description:
|
339
1002
|
|
340
|
-
|
341
|
-
--expires="\"2012-12-21 00:00:00 -0000\": *.css, *.js"
|
1003
|
+
tbd
|
342
1004
|
|
343
|
-
|
1005
|
+
Support for deployments to GitHub Releases is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
344
1006
|
|
345
|
-
|
346
|
-
dpl --provider=s3 --access-key-id=<access-key-id> --secret-access-key=<secret-access-key> --bucket=<bucket> --detect-encoding --cache_control=max-age=99999 --expires="2012-12-21 00:00:00 -0000"
|
347
|
-
dpl --provider=s3 --access-key-id=<access-key-id> --secret-access-key=<secret-access-key> --bucket=<bucket> --region=us-west-2 --local-dir=BUILD --upload-dir=BUILDS
|
1007
|
+
Options:
|
348
1008
|
|
349
|
-
|
1009
|
+
Either api_key, or user and password are required.
|
350
1010
|
|
351
|
-
|
1011
|
+
--api_key TOKEN GitHub oauth token (needs public_repo or repo permission) (type: string)
|
1012
|
+
--username LOGIN GitHub login name (type: string, alias: user)
|
1013
|
+
--password PASS GitHub password (type: string)
|
1014
|
+
--repo SLUG GitHub repo slug (type: string, default: repo slug)
|
1015
|
+
--file FILE File to release to GitHub (type: array (string, can be given multiple times),
|
1016
|
+
required: true)
|
1017
|
+
--[no-]file_glob Interpret files as globs
|
1018
|
+
--[no-]overwrite Overwrite files with the same name
|
1019
|
+
--[no-]prerelease Identify the release as a prerelease
|
1020
|
+
--release_number NUM Release number (overide automatic release detection) (type: string)
|
1021
|
+
--release_notes STR Content for the release notes (type: string, alias: body)
|
1022
|
+
--release_notes_file PATH Path to a file containing the release notes (type: string, note: will be ignored
|
1023
|
+
if --release_notes is given)
|
1024
|
+
--[no-]draft Identify the release as a draft
|
1025
|
+
--tag_name TAG Git tag from which to create the release (type: string)
|
1026
|
+
--target_commitish STR Commitish value that determines where the Git tag is created from (type: string)
|
1027
|
+
--name NAME Name for the release (type: string)
|
352
1028
|
|
353
|
-
|
1029
|
+
Common Options:
|
354
1030
|
|
355
|
-
|
1031
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1032
|
+
(string, can be given multiple times))
|
1033
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1034
|
+
--help Get help on this command
|
356
1035
|
|
357
|
-
|
1036
|
+
Examples:
|
358
1037
|
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
* **zip_file**: The zip file that you want to deploy. _**Note:**_ you also need to use the `skip_cleanup` or the zip file you are trying to upload will be removed during cleanup.
|
365
|
-
* **bucket_name**: Bucket name to upload app to.
|
366
|
-
* **bucket_path**: Location within Bucket to upload app to.
|
367
|
-
* **only_create_app_version**: only create the app version, don't actually deploy it.
|
1038
|
+
dpl releases --file file --api_key token
|
1039
|
+
dpl releases --file file --password pass
|
1040
|
+
dpl releases --file file
|
1041
|
+
dpl releases --file file --api_key token --username login --repo slug --file_glob
|
1042
|
+
```
|
368
1043
|
|
369
|
-
|
1044
|
+
### Google App Engine
|
370
1045
|
|
371
|
-
|
372
|
-
|
373
|
-
* **ELASTIC_BEANSTALK_DESCRIPTION**: Description of the new version. Defaults to the last commit message.
|
1046
|
+
```
|
1047
|
+
Usage: dpl gae [options]
|
374
1048
|
|
375
|
-
|
1049
|
+
Summary:
|
376
1050
|
|
377
|
-
|
1051
|
+
Google App Engine deployment provider
|
378
1052
|
|
379
|
-
|
1053
|
+
Description:
|
380
1054
|
|
381
|
-
|
1055
|
+
tbd
|
382
1056
|
|
383
|
-
|
384
|
-
* **secret-access-key**: AWS Secret Key. Can be obtained from [here](https://console.aws.amazon.com/iam/home?#security_credential).
|
385
|
-
* **app-id**: The app ID.
|
386
|
-
* **instance-ids**: An instance id. (Use this option multiple times to specify multiple instance ids. Default: [])
|
387
|
-
* **layer-ids**: A layer id. (Use this option multiple times to specify multiple layer ids. Default: [])
|
388
|
-
* **migrate**: Migrate the database. (Default: false)
|
389
|
-
* **wait-until-deployed**: Wait until the app is deployed and return the deployment status. (Default: false)
|
390
|
-
* **update-on-success**: When **wait-until-deployed** and **updated-on-success** are both `true`, application source is updated to the current SHA. Ignored when **wait-until-deployed** is false. (Default: false)
|
391
|
-
* **custom_json**: Override custom_json options. If using this, default configuration will be overriden. See the code [here](https://github.com/travis-ci/dpl/blob/master/lib/dpl/provider/ops_works.rb#L43). More about `custom_json` [here](http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json.html).
|
1057
|
+
Support for deployments to Google App Engine is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
392
1058
|
|
393
|
-
|
1059
|
+
Options:
|
394
1060
|
|
395
|
-
|
396
|
-
|
1061
|
+
--project ID Project ID used to identify the project on Google Cloud (type: string, required:
|
1062
|
+
true)
|
1063
|
+
--keyfile FILE Path to the JSON file containing your Service Account credentials in JSON Web
|
1064
|
+
Token format. To be obtained via the Google Developers Console. Should be
|
1065
|
+
handled with care as it contains authorization keys. (type: string, default:
|
1066
|
+
service-account.json)
|
1067
|
+
--config FILE Path to your service configuration file (type: array (string, can be given
|
1068
|
+
multiple times), default: app.yaml)
|
1069
|
+
--version VER The version of the app that will be created or replaced by this deployment. If
|
1070
|
+
you do not specify a version, one will be generated for you (type: string)
|
1071
|
+
--verbosity LEVEL Adjust the log verbosity (type: string, default: warning)
|
1072
|
+
--[no-]promote Do not promote the deployed version (default: true)
|
1073
|
+
--[no-]stop_previous_version Prevent your deployment from stopping the previously promoted version. This is
|
1074
|
+
from the future, so might not work (yet). (default: true)
|
1075
|
+
--[no-]install_sdk Do not install the Google Cloud SDK (default: true)
|
397
1076
|
|
398
|
-
|
1077
|
+
Common Options:
|
399
1078
|
|
400
|
-
|
401
|
-
|
1079
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1080
|
+
(string, can be given multiple times))
|
1081
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1082
|
+
--help Get help on this command
|
402
1083
|
|
403
|
-
|
1084
|
+
Examples:
|
404
1085
|
|
405
|
-
|
1086
|
+
dpl gae --project id
|
1087
|
+
dpl gae --project id --keyfile file --config file --version ver --verbosity level
|
1088
|
+
```
|
406
1089
|
|
407
|
-
|
408
|
-
* **password**: anynines password.
|
409
|
-
* **organization**: anynines target organization.
|
410
|
-
* **space**: anynines target space
|
411
|
-
* **app_name**: Application name. Optional.
|
1090
|
+
### Google Cloud Store
|
412
1091
|
|
413
|
-
|
1092
|
+
```
|
1093
|
+
Usage: dpl gcs [options]
|
414
1094
|
|
415
|
-
|
1095
|
+
Summary:
|
416
1096
|
|
417
|
-
|
1097
|
+
Google Cloud Store deployment provider
|
418
1098
|
|
419
|
-
|
1099
|
+
Description:
|
420
1100
|
|
421
|
-
|
1101
|
+
tbd
|
422
1102
|
|
423
|
-
|
1103
|
+
Support for deployments to Google Cloud Store is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
424
1104
|
|
425
|
-
|
426
|
-
* **app** (Required): Atlas application name (`<atlas-username>/<app-name>`).
|
427
|
-
* **exclude**: Glob pattern of files or directories to exclude (this may be specified multiple times).
|
428
|
-
* **include**: Glob pattern of files/directories to include (this may be specified multiple times, any excludes will override conflicting includes).
|
429
|
-
* **address**: The address of the Atlas server.
|
430
|
-
* **vcs**: Use VCS to determine which files to include/exclude.
|
431
|
-
* **metadata**: Arbitrary key-value (string) metadata to be sent with the upload; may be specified multiple times.
|
432
|
-
* **debug**: Turn on debug output.
|
433
|
-
* **version**: Print the version of this application.
|
1105
|
+
Options:
|
434
1106
|
|
435
|
-
|
1107
|
+
--access_key_id ID GCS Interoperable Access Key ID (type: string, required: true)
|
1108
|
+
--secret_access_key KEY GCS Interoperable Access Secret (type: string, required: true)
|
1109
|
+
--bucket BUCKET GCS Bucket (type: string, required: true)
|
1110
|
+
--local_dir DIR Local directory to upload from (type: string, default: .)
|
1111
|
+
--upload_dir DIR GCS directory to upload to (type: string)
|
1112
|
+
--[no-]dot_match Upload hidden files starting with a dot
|
1113
|
+
--acl ACL Access control to set for uploaded objects (type: string)
|
1114
|
+
--[no-]detect_encoding HTTP header Content-Encoding to set for files compressed with gzip and compress
|
1115
|
+
utilities.
|
1116
|
+
--cache_control HEADER HTTP header Cache-Control to suggest that the browser cache the file. (type:
|
1117
|
+
string)
|
436
1118
|
|
437
|
-
|
438
|
-
dpl --provider=atlas --token=ATLAS_TOKEN --app=ATLAS_USERNAME/APP_NAME --debug --vcs --version
|
439
|
-
dpl --provider=atlas --token=ATLAS_TOKEN --app=ATLAS_USERNAME/APP_NAME --exclude="*.log" --include="build/*" --include="bin/*"
|
440
|
-
dpl --provider=atlas --token=ATLAS_TOKEN --app=ATLAS_USERNAME/APP_NAME --metadata="foo=bar" --metadata="bar=baz"
|
1119
|
+
Common Options:
|
441
1120
|
|
442
|
-
|
1121
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1122
|
+
(string, can be given multiple times))
|
1123
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1124
|
+
--help Get help on this command
|
443
1125
|
|
444
|
-
|
1126
|
+
Examples:
|
445
1127
|
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
* **password**: Web App Deployment Password.
|
450
|
-
* **verbose**: If passed, Azure's deployment output will be printed. Warning: If you provide incorrect credentials, Git will print those in clear text. Correct authentication credentials will remain hidden.
|
1128
|
+
dpl gcs --access_key_id id --secret_access_key key --bucket bucket
|
1129
|
+
dpl gcs --access_key_id id --secret_access_key key --bucket bucket --local_dir dir --upload_dir dir
|
1130
|
+
```
|
451
1131
|
|
452
|
-
|
1132
|
+
### Hackage
|
453
1133
|
|
454
|
-
|
455
|
-
|
456
|
-
* **AZURE_WA_USERNAME**: Web App Deployment Username. Used if the `username` option is omitted.
|
457
|
-
* **AZURE_WA_PASSWORD**: Web App Deployment Password. Used if the `password` option is omitted.
|
1134
|
+
```
|
1135
|
+
Usage: dpl hackage [options]
|
458
1136
|
|
459
|
-
|
1137
|
+
Summary:
|
460
1138
|
|
461
|
-
|
1139
|
+
Hackage deployment provider
|
462
1140
|
|
463
|
-
|
1141
|
+
Description:
|
464
1142
|
|
465
|
-
|
1143
|
+
tbd
|
466
1144
|
|
467
|
-
|
468
|
-
* **password**: Cloud Foundry password.
|
469
|
-
* **organization**: Cloud Foundry target organization.
|
470
|
-
* **api**: Cloud Foundry api URL
|
471
|
-
* **space**: Cloud Foundry target space
|
472
|
-
* **app_name**: Application name. Optional.
|
473
|
-
* **manifest**: Path to manifest file. Optional.
|
474
|
-
* **skip_ssl_validation**: Skip ssl validation. Optional.
|
1145
|
+
Support for deployments to Hackage is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
475
1146
|
|
476
|
-
|
1147
|
+
Options:
|
477
1148
|
|
478
|
-
|
1149
|
+
--username USER Hackage username (type: string, required: true)
|
1150
|
+
--password USER Hackage password (type: string, required: true)
|
1151
|
+
--[no-]publish Whether or not to publish the package
|
479
1152
|
|
480
|
-
|
1153
|
+
Common Options:
|
481
1154
|
|
482
|
-
|
1155
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1156
|
+
(string, can be given multiple times))
|
1157
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1158
|
+
--help Get help on this command
|
483
1159
|
|
484
|
-
|
1160
|
+
Examples:
|
485
1161
|
|
486
|
-
|
1162
|
+
dpl hackage --username user --password user
|
1163
|
+
dpl hackage --username user --password user --publish --run cmd --cleanup
|
1164
|
+
```
|
487
1165
|
|
488
|
-
|
1166
|
+
### Hephy
|
489
1167
|
|
490
|
-
|
1168
|
+
```
|
1169
|
+
Usage: dpl hephy [options]
|
491
1170
|
|
492
|
-
|
1171
|
+
Summary:
|
493
1172
|
|
494
|
-
|
495
|
-
* **api-key**: Rackspace API Key.
|
496
|
-
* **region**: Cloud Files Region. The region in which your Cloud Files container exists.
|
497
|
-
* **container**: Container Name. The container where you would like your files to be uploaded.
|
498
|
-
* **dot_match**: When set to `true`, upload files starting a `.`.
|
1173
|
+
Hephy deployment provider
|
499
1174
|
|
500
|
-
|
1175
|
+
Description:
|
501
1176
|
|
502
|
-
|
1177
|
+
tbd
|
503
1178
|
|
504
|
-
|
1179
|
+
Support for deployments to Hephy is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
505
1180
|
|
506
|
-
|
1181
|
+
Options:
|
507
1182
|
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
* **verbose**: Optional, be verbose about internal steps, defaults to false.
|
515
|
-
* **local-dir**: Directory to push to GitHub Pages, defaults to current.
|
516
|
-
* **fqdn**: Optional, no default, sets a main domain for your website.
|
517
|
-
* **project-name**: Defaults to fqdn or repo slug, used for metadata.
|
518
|
-
* **email**: Optional, committer info, defaults to deploy@travis-ci.org.
|
519
|
-
* **name**: Optional, committer, defaults to Deployment Bot.
|
520
|
-
* **deployment-file**: Optional, defaults to false, enables creation of deployment-info files
|
1183
|
+
--controller NAME Hephy controller (type: string, required: true, e.g.: hephy.hephyapps.com)
|
1184
|
+
--username USER Hephy username (type: string, required: true)
|
1185
|
+
--password PASS Hephy password (type: string, required: true)
|
1186
|
+
--app APP Deis app (type: string, required: true)
|
1187
|
+
--cli_version VER Install a specific hephy cli version (type: string, default: stable)
|
1188
|
+
--[no-]verbose Verbose log output
|
521
1189
|
|
522
|
-
|
1190
|
+
Common Options:
|
523
1191
|
|
524
|
-
|
1192
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1193
|
+
(string, can be given multiple times))
|
1194
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1195
|
+
--help Get help on this command
|
525
1196
|
|
526
|
-
|
1197
|
+
Examples:
|
527
1198
|
|
528
|
-
|
1199
|
+
dpl hephy --controller name --username user --password pass --app app
|
1200
|
+
dpl hephy --controller name --username user --password pass --app app --cli_version ver
|
1201
|
+
```
|
529
1202
|
|
530
|
-
|
531
|
-
* **user**: GitHub username. Not necessary if `api-key` is used.
|
532
|
-
* **password**: GitHub Password. Not necessary if `api-key` is used.
|
533
|
-
* **repo**: GitHub Repo. Defaults to git repo's name.
|
534
|
-
* **file**: File to upload to GitHub Release.
|
535
|
-
* **file_glob**: If files should be interpreted as globs (\* and \*\* wildcards). Defaults to false.
|
536
|
-
* **overwrite**: If files with the same name should be overwritten. Defaults to false.
|
537
|
-
* **release-number**: Overide automatic release detection, set a release manually.
|
538
|
-
* **prerelease**: Identify the release as a prerelease.
|
1203
|
+
### Heroku API
|
539
1204
|
|
540
|
-
|
541
|
-
|
1205
|
+
```
|
1206
|
+
Usage: dpl heroku api [options]
|
542
1207
|
|
543
|
-
|
1208
|
+
Summary:
|
544
1209
|
|
545
|
-
|
1210
|
+
Heroku API deployment provider
|
546
1211
|
|
547
|
-
|
1212
|
+
Description:
|
548
1213
|
|
549
|
-
|
1214
|
+
tbd
|
550
1215
|
|
551
|
-
|
1216
|
+
Support for deployments to Heroku API is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
552
1217
|
|
553
|
-
|
1218
|
+
Options:
|
554
1219
|
|
555
|
-
|
1220
|
+
--api_key KEY Heroku API key (type: string, required: true)
|
556
1221
|
|
557
|
-
|
1222
|
+
Common Options:
|
558
1223
|
|
559
|
-
|
1224
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1225
|
+
(string, can be given multiple times))
|
1226
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1227
|
+
--app APP Heroku app name (type: string, default: repo name)
|
1228
|
+
--help Get help on this command
|
560
1229
|
|
561
|
-
|
1230
|
+
Examples:
|
562
1231
|
|
563
|
-
|
1232
|
+
dpl heroku api --api_key key
|
1233
|
+
dpl heroku api --api_key key --run cmd --cleanup --app app
|
1234
|
+
```
|
564
1235
|
|
565
|
-
|
566
|
-
* **password**: Hackage password.
|
1236
|
+
### Heroku Git
|
567
1237
|
|
568
|
-
|
1238
|
+
```
|
1239
|
+
Usage: dpl heroku git [options]
|
569
1240
|
|
570
|
-
|
1241
|
+
Summary:
|
571
1242
|
|
572
|
-
|
1243
|
+
Heroku Git deployment provider
|
573
1244
|
|
574
|
-
|
1245
|
+
Description:
|
575
1246
|
|
576
|
-
|
577
|
-
* **username**: Deis username
|
578
|
-
* **password**: Deis password
|
579
|
-
* **app**: Deis app
|
580
|
-
* **cli_version**: Install a specific deis cli version
|
1247
|
+
tbd
|
581
1248
|
|
582
|
-
|
1249
|
+
Support for deployments to Heroku Git is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
583
1250
|
|
584
|
-
|
1251
|
+
Options:
|
585
1252
|
|
586
|
-
|
1253
|
+
Either api_key, or username and password are required.
|
587
1254
|
|
588
|
-
|
1255
|
+
--api_key KEY Heroku API key (type: string)
|
1256
|
+
--username USER Heroku username (type: string, alias: user)
|
1257
|
+
--password PASS Heroku password (type: string)
|
1258
|
+
--git URL type: string
|
589
1259
|
|
590
|
-
|
591
|
-
* **username**: Hephy username
|
592
|
-
* **password**: Hephy password
|
593
|
-
* **app**: Hephy app
|
594
|
-
* **cli_version**: Install a specific hephy cli version
|
1260
|
+
Common Options:
|
595
1261
|
|
596
|
-
|
1262
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1263
|
+
(string, can be given multiple times))
|
1264
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1265
|
+
--app APP Heroku app name (type: string, default: repo name)
|
1266
|
+
--help Get help on this command
|
597
1267
|
|
598
|
-
|
1268
|
+
Examples:
|
599
1269
|
|
600
|
-
|
1270
|
+
dpl heroku git --api_key key
|
1271
|
+
dpl heroku git --username user --password pass
|
1272
|
+
dpl heroku git --api_key key --git url --run cmd --cleanup --app app
|
1273
|
+
```
|
601
1274
|
|
602
|
-
|
1275
|
+
### Launchpad
|
603
1276
|
|
604
|
-
|
605
|
-
|
606
|
-
* **bucket**: GCS Bucket.
|
607
|
-
* **upload-dir**: GCS directory to upload to. Defaults to root directory.
|
608
|
-
* **local-dir**: Local directory to upload from. Can be set from a global perspective (~/travis/build) or relative perspective (build) Defaults to project root.
|
609
|
-
* **dot_match**: When set to `true`, upload files starting a `.`.
|
610
|
-
* **detect-encoding**: Set HTTP header `Content-Encoding` for files compressed with `gzip` and `compress` utilities. Defaults to not set.
|
611
|
-
* **cache_control**: Set HTTP header `Cache-Control` to suggest that the browser cache the file. Defaults to not set. Info is [here](https://developers.google.com/storage/docs/reference-headers#cachecontrol)
|
612
|
-
* **acl**: Sets the access control for the uploaded objects. Defaults to not set. Info is [here](https://developers.google.com/storage/docs/reference-headers#xgoogacl)
|
1277
|
+
```
|
1278
|
+
Usage: dpl launchpad [options]
|
613
1279
|
|
614
|
-
|
1280
|
+
Summary:
|
615
1281
|
|
616
|
-
|
617
|
-
dpl --provider=gcs --access-key-id=<access-key-id> --secret-access-key=<secret-access-key> --bucket=<bucket> --local-dir= BUILD
|
618
|
-
dpl --provider=gcs --access-key-id=<access-key-id> --secret-access-key=<secret-access-key> --bucket=<bucket> --acl=public-read
|
619
|
-
dpl --provider=gcs --access-key-id=<access-key-id> --secret-access-key=<secret-access-key> --bucket=<bucket> --detect-encoding --cache_control=max-age=99999
|
620
|
-
dpl --provider=gcs --access-key-id=<access-key-id> --secret-access-key=<secret-access-key> --bucket=<bucket> --local-dir=BUILD --upload-dir=BUILDS
|
1282
|
+
Launchpad deployment provider
|
621
1283
|
|
622
|
-
|
1284
|
+
Description:
|
623
1285
|
|
624
|
-
|
1286
|
+
tbd
|
625
1287
|
|
626
|
-
|
627
|
-
* **site_id**: Optional. The site_id which can be found in the .bitballoon file after a deployment using the bitballoon CLI. Only required if no `.bitballoon` file is present.
|
628
|
-
* **local_dir**: Optional. The sub-directory of the built assets for deployment. Default to current path.
|
1288
|
+
Support for deployments to Launchpad is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
629
1289
|
|
630
|
-
|
1290
|
+
Options:
|
631
1291
|
|
632
|
-
|
633
|
-
|
1292
|
+
--slug SLUG Launchpad project slug (type: string, format: /^~[^\/]+\/[^\/]+\/[^\/]+$/, e.g.:
|
1293
|
+
~user-name/project-name/branch-name)
|
1294
|
+
--oauth_token TOKEN Launchpad OAuth token (type: string)
|
1295
|
+
--oauth_token_secret SECRET Launchpad OAuth token secret (type: string)
|
634
1296
|
|
635
|
-
|
1297
|
+
Common Options:
|
636
1298
|
|
637
|
-
|
1299
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1300
|
+
(string, can be given multiple times))
|
1301
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1302
|
+
--help Get help on this command
|
638
1303
|
|
639
|
-
|
640
|
-
* **password**: Required. The Puppet forge password.
|
641
|
-
* **url**: Optional. The forge URL to deploy to. Defaults to https://forgeapi.puppetlabs.com/
|
1304
|
+
Examples:
|
642
1305
|
|
643
|
-
|
1306
|
+
dpl launchpad --slug slug --oauth_token token --oauth_token_secret secret --run cmd --cleanup
|
1307
|
+
```
|
644
1308
|
|
645
|
-
|
1309
|
+
### Netlify
|
646
1310
|
|
647
|
-
|
1311
|
+
```
|
1312
|
+
Usage: dpl netlify [options]
|
648
1313
|
|
649
|
-
|
1314
|
+
Summary:
|
650
1315
|
|
651
|
-
|
652
|
-
* **token**: Required. The [packagecloud.io api token](https://packagecloud.io/docs/api#api_tokens).
|
653
|
-
* **repository**: Required. The repository to push to.
|
654
|
-
* **local_dir**: Optional. The sub-directory of the built assets for deployment. Default to current path.
|
655
|
-
* **dist**: Required for debian, rpm, and node.js packages. The complete list of supported strings can be found on the [packagecloud.io docs](https://packagecloud.io/docs#os_distro_version). For node.js packages, simply use "node".
|
656
|
-
* **force**: Optional. Whether package has to be (re)uploaded / deleted before upload
|
1316
|
+
Netlify deployment provider
|
657
1317
|
|
658
|
-
|
1318
|
+
Description:
|
659
1319
|
|
660
|
-
|
661
|
-
dpl --provider=packagecloud --username=packageuser --token=t0k3n --repository=myrepo --dist=ubuntu/precise
|
662
|
-
dpl --provider=packagecloud --username=packageuser --token=t0k3n --repository=myrepo --local-dir="${TRAVIS_BUILD_DIR}/pkgs" --dist=ubuntu/precise
|
1320
|
+
tbd
|
663
1321
|
|
664
|
-
|
1322
|
+
Support for deployments to Netlify is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
665
1323
|
|
666
|
-
|
1324
|
+
Options:
|
667
1325
|
|
668
|
-
|
669
|
-
|
1326
|
+
--site ID A site ID to deploy to (type: string, required: true)
|
1327
|
+
--auth TOKEN An auth token to log in with (type: string, required: true)
|
1328
|
+
--dir DIR Specify a folder to deploy (type: string)
|
1329
|
+
--functions FUNCS Specify a functions folder to deploy (type: string)
|
1330
|
+
--message MSG A message to include in the deploy log (type: string)
|
1331
|
+
--[no-]prod Deploy to production
|
670
1332
|
|
671
|
-
|
1333
|
+
Common Options:
|
672
1334
|
|
673
|
-
|
674
|
-
|
675
|
-
|
1335
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1336
|
+
(string, can be given multiple times))
|
1337
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1338
|
+
--help Get help on this command
|
676
1339
|
|
1340
|
+
Examples:
|
677
1341
|
|
678
|
-
|
1342
|
+
dpl netlify --site id --auth token
|
1343
|
+
dpl netlify --site id --auth token --dir dir --functions funcs --message msg
|
1344
|
+
```
|
679
1345
|
|
680
|
-
|
681
|
-
1. Make sure your catalyze environment is [associated](https://resources.catalyze.io/paas/paas-cli-reference/#associate).
|
682
|
-
2. Get the git remote by running ```git remote -v``` from within the associated repo.
|
683
|
-
2. Setup a deployment key to Catalyze for Travis CI:
|
684
|
-
1. Install the travis-ci cli.
|
685
|
-
2. Get the public SSH key for your travis project and save it to a file by running ```travis pubkey > travis.pub```
|
686
|
-
3. Add the key as a deploy key using the catalyze cli within the associated repo. For example: ```catalyze deploy-keys add travisci ./travis.pub code-1```
|
687
|
-
3. Setup Catalyze as a known host for Travis CI:
|
688
|
-
1. List your known hosts by running ```cat ~/.ssh/known_hosts```
|
689
|
-
2. Find and copy the line from known_hosts that includes the git remote found in step #1. It'll look something like "[git.catalyzeapps.com]:2222 ecdsa-sha2-nistp256 BBBB12abZmKlLXNo..."
|
690
|
-
3. Update your `before_deploy` step in `.travis.yml` to update the `known_hosts` file:
|
1346
|
+
### npm
|
691
1347
|
|
692
|
-
|
693
|
-
|
694
|
-
```
|
1348
|
+
```
|
1349
|
+
Usage: dpl npm [options]
|
695
1350
|
|
696
|
-
|
1351
|
+
Summary:
|
697
1352
|
|
698
|
-
|
1353
|
+
npm deployment provider
|
699
1354
|
|
700
|
-
|
701
|
-
* **client_key**: Required. The client API key file name.
|
702
|
-
* **cookbook_category**: Required. The cookbook category in Supermarket (see: https://docs.getchef.com/knife_cookbook_site.html#id12 )
|
1355
|
+
Description:
|
703
1356
|
|
704
|
-
|
1357
|
+
tbd
|
705
1358
|
|
706
|
-
|
1359
|
+
Support for deployments to npm is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
707
1360
|
|
708
|
-
|
1361
|
+
Options:
|
709
1362
|
|
710
|
-
|
1363
|
+
--email EMAIL npm account email (type: string)
|
1364
|
+
--api_token TOKEN npm api token (type: string, required: true, alias: api_key, note: can be
|
1365
|
+
retrieved from your local ~/.npmrc file, see:
|
1366
|
+
https://docs.npmjs.com/creating-and-viewing-authentication-tokens)
|
1367
|
+
--access ACCESS Access level (type: string, known values: public, private)
|
1368
|
+
--registry URL npm registry url (type: string)
|
1369
|
+
--src SRC directory or tarball to publish (type: string, default: .)
|
1370
|
+
--tag TAGS distribution tags to add (type: string)
|
1371
|
+
--[no-]auth_method Authentication method (known values: auth)
|
711
1372
|
|
712
|
-
|
713
|
-
* **secret_access_key**: AWS Secret Key. Can be obtained from [here](https://console.aws.amazon.com/iam/home?#security_credential).
|
714
|
-
* **region**: AWS Region the Lambda function is running in. Defaults to 'us-east-1'.
|
715
|
-
* **function_name**: Required. The name of the Lambda being created / updated.
|
716
|
-
* **role**: Required. The ARN of the IAM role to assign to this Lambda function.
|
717
|
-
* **handler_name**: Required. The function that Lambda calls to begin execution. For NodeJS, it is exported function for the module.
|
718
|
-
* **dot_match**: Optional. When `true`, the zipped archive will include the hidden `.*` files. Defaults to `false`.
|
719
|
-
* **module_name**: Optional. The name of the module that exports the handler. Defaults to `index`.
|
720
|
-
* **zip**: Optional. Either a path to an existing packaged (zipped or jar file) Lambda, a directory to package, or a single file to package. Defaults to `Dir.pwd`.
|
721
|
-
* **description**: Optional. The description of the Lambda being created / updated. Defaults to "Deploy build #{context.env['TRAVIS_BUILD_NUMBER']} to AWS Lambda via Travis CI"
|
722
|
-
* **timeout**: Optional. The function execution time at which Lambda should terminate the function. Defaults to 3 (seconds).
|
723
|
-
* **memory_size**: Optional. The amount of memory in MB to allocate to this Lambda. Defaults to 128.
|
724
|
-
* **runtime**: Optional. The Lambda runtime to use. Defaults to `node`.
|
725
|
-
* **publish**: If `true`, a [new version](http://docs.aws.amazon.com/lambda/latest/dg/versioning-intro.html#versioning-intro-publish-version) of the Lambda function will be created instead of replacing the code of the existing one.
|
726
|
-
* **subnet_ids**: Optional. List of subnet IDs to be added to the function. Needs the `ec2:DescribeSubnets` and `ec2:DescribeVpcs` permission for the user of the access/secret key to work.
|
727
|
-
* **security_group_ids**: Optional. List of security group IDs to be added to the function. Needs the `ec2:DescribeSecurityGroups` and `ec2:DescribeVpcs` permission for the user of the access/secret key to work.
|
728
|
-
* **dead_letter_arn**: Optional. ARN to an SNS or SQS resource used for the dead letter queue. [More about DLQs here](https://docs.aws.amazon.com/lambda/latest/dg/dlq.html).
|
729
|
-
* **tracing_mode**: Optional. "Active" or "PassThrough" only. Default is "PassThrough". Needs the `xray:PutTraceSegments` and `xray:PutTelemetryRecords` on the role for this to work. [More on
|
730
|
-
Active Tracing here](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html).
|
731
|
-
* **environment_variables**: Optional. List of Environment Variables to add to the function, needs to be in the format of `KEY=VALUE`. Can be encrypted for added security.
|
732
|
-
* **kms_key_arn**: Optional. KMS key ARN to use to encrypt `environment_variables`.
|
733
|
-
* **function_tags**: Optional. List of tags to add to the function, needs to be in the format of `KEY=VALUE`. Can be encrypted for added security.
|
1373
|
+
Common Options:
|
734
1374
|
|
735
|
-
|
1375
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1376
|
+
(string, can be given multiple times))
|
1377
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1378
|
+
--help Get help on this command
|
736
1379
|
|
737
|
-
|
1380
|
+
Examples:
|
738
1381
|
|
739
|
-
|
1382
|
+
dpl npm --api_token token
|
1383
|
+
dpl npm --api_token token --email email --access public --registry url --src src
|
740
1384
|
```
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
--function_name="test-lambda" \
|
745
|
-
--role="${AWS_LAMBDA_ROLE}" \
|
746
|
-
--handler_name="handler";
|
1385
|
+
|
1386
|
+
### OpenShift
|
1387
|
+
|
747
1388
|
```
|
748
|
-
|
1389
|
+
Usage: dpl openshift [options]
|
1390
|
+
|
1391
|
+
Summary:
|
1392
|
+
|
1393
|
+
OpenShift deployment provider
|
1394
|
+
|
1395
|
+
Description:
|
1396
|
+
|
1397
|
+
tbd
|
1398
|
+
|
1399
|
+
Support for deployments to OpenShift is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
1400
|
+
|
1401
|
+
Options:
|
1402
|
+
|
1403
|
+
--server SERVER OpenShift server (type: string, required: true)
|
1404
|
+
--token TOKEN OpenShift token (type: string, required: true)
|
1405
|
+
--project PROJECT OpenShift project (type: string, required: true)
|
1406
|
+
--app APP OpenShift application (type: string, default: repo name)
|
1407
|
+
|
1408
|
+
Common Options:
|
1409
|
+
|
1410
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1411
|
+
(string, can be given multiple times))
|
1412
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1413
|
+
--help Get help on this command
|
1414
|
+
|
1415
|
+
Examples:
|
1416
|
+
|
1417
|
+
dpl openshift --server server --token token --project project
|
1418
|
+
dpl openshift --server server --token token --project project --app app --run cmd
|
749
1419
|
```
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
--function_name="test-lambda" \
|
754
|
-
--role="${AWS_LAMBDA_ROLE}" \
|
755
|
-
--zip="${TRAVIS_BUILD_DIR}/dist" \
|
756
|
-
--module_name="copy" \
|
757
|
-
--handler_name="handler";
|
1420
|
+
|
1421
|
+
### Packagecloud
|
1422
|
+
|
758
1423
|
```
|
1424
|
+
Usage: dpl packagecloud [options]
|
1425
|
+
|
1426
|
+
Summary:
|
1427
|
+
|
1428
|
+
Packagecloud deployment provider
|
1429
|
+
|
1430
|
+
Description:
|
1431
|
+
|
1432
|
+
tbd
|
1433
|
+
|
1434
|
+
Support for deployments to Packagecloud is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
759
1435
|
|
760
|
-
|
1436
|
+
Options:
|
761
1437
|
|
762
|
-
|
1438
|
+
--username USER The packagecloud.io username. (type: string, required: true)
|
1439
|
+
--token TOKEN The packagecloud.io api token. (type: string, required: true)
|
1440
|
+
--repository REPO The repository to push to. (type: string, required: true)
|
1441
|
+
--local_dir DIR The sub-directory of the built assets for deployment. (type: string, default: .)
|
1442
|
+
--dist DIST Required for debian, rpm, and node.js packages (use "node" for node.js
|
1443
|
+
packages). The complete list of supported strings can be found on the
|
1444
|
+
packagecloud.io docs. (type: string)
|
1445
|
+
--[no-]force Whether package has to be (re)uploaded / deleted before upload
|
1446
|
+
--connect_timeout SEC type: integer, default: 60
|
1447
|
+
--read_timeout SEC type: integer, default: 60
|
1448
|
+
--write_timeout SEC type: integer, default: 180
|
1449
|
+
--package_glob GLOB type: array (string, can be given multiple times), default: ["**/*"]
|
763
1450
|
|
764
|
-
|
765
|
-
* **oauth_token**: Required. Your OAUTH token for Launchpad
|
766
|
-
* **oauth_token_secret**: Required. Your OAUTH token secret for Launchpad
|
1451
|
+
Common Options:
|
767
1452
|
|
768
|
-
|
1453
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1454
|
+
(string, can be given multiple times))
|
1455
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1456
|
+
--help Get help on this command
|
769
1457
|
|
770
|
-
|
1458
|
+
Examples:
|
1459
|
+
|
1460
|
+
dpl packagecloud --username user --token token --repository repo
|
1461
|
+
dpl packagecloud --username user --token token --repository repo --local_dir dir --dist dist
|
771
1462
|
```
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
--oauth_token_secret="${LAUNCHPAD_OAUTH_TOKEN_SECRET}";
|
1463
|
+
|
1464
|
+
### Puppet Forge
|
1465
|
+
|
776
1466
|
```
|
1467
|
+
Usage: dpl puppetforge [options]
|
1468
|
+
|
1469
|
+
Summary:
|
1470
|
+
|
1471
|
+
Puppet Forge deployment provider
|
1472
|
+
|
1473
|
+
Description:
|
1474
|
+
|
1475
|
+
tbd
|
1476
|
+
|
1477
|
+
Support for deployments to Puppet Forge is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
777
1478
|
|
778
|
-
|
1479
|
+
Options:
|
779
1480
|
|
780
|
-
|
781
|
-
|
1481
|
+
--username NAME Puppet Forge user name (type: string, required: true, alias: user)
|
1482
|
+
--password PASS Puppet Forge password (type: string, required: true)
|
1483
|
+
--url URL Puppet Forge URL to deploy to (type: string, default:
|
1484
|
+
https://forgeapi.puppetlabs.com/)
|
782
1485
|
|
783
|
-
|
784
|
-
* **api-key**: TestFairy API Key (https://app.testfairy.com/settings/) run "travis encrypt --add deploy.api-key" on your repo.
|
785
|
-
* **app-file**: Path to the app file that will be generated after the build (APK/IPA).
|
786
|
-
* **symbols-file**: Path to the symbols file.
|
787
|
-
* **testers-groups**: You can set a tester group to be notified about this build (group1,group1).
|
788
|
-
* **notify**: If true, an email you a changelog will be sent to your users.
|
789
|
-
* **auto-update**: If true, all the previous installations of this app will be automatically all upgraded to this version.
|
790
|
-
* **video-quality**: Video quality settings, "high", "medium" or "low". Default is "high".
|
791
|
-
* **screenshot-interval**: You can choose "1"\"2"\"10" sec.
|
792
|
-
* **max-duration**: Maximum session recording length, eg "20m" or "1h". Default is "10m". Maximum "24h".
|
793
|
-
* **advanced-options**: For example (option1,option2)
|
794
|
-
* **data-only-wifi**: If true, video and recorded metrics will be sent only when connected to a wifi network.
|
795
|
-
* **record-on-background**: If true, data will be collected while the app on background.
|
796
|
-
* **video**: If true, Video recording settings "true", "false". Default is "true".
|
797
|
-
* **icon-watermark**: Add a small watermark to app icon. Default is "false".
|
798
|
-
* **metrics**: Comma-separated list of metrics to record. View list on http://docs.testfairy.com/Upload_API.html.
|
1486
|
+
Common Options:
|
799
1487
|
|
800
|
-
|
1488
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1489
|
+
(string, can be given multiple times))
|
1490
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1491
|
+
--help Get help on this command
|
801
1492
|
|
802
|
-
|
1493
|
+
Examples:
|
803
1494
|
|
804
|
-
|
1495
|
+
dpl puppetforge --username name --password pass
|
1496
|
+
dpl puppetforge --username name --password pass --url url --run cmd --cleanup
|
1497
|
+
```
|
1498
|
+
|
1499
|
+
### PyPI
|
1500
|
+
|
1501
|
+
```
|
1502
|
+
Usage: dpl pypi [options]
|
805
1503
|
|
806
|
-
|
1504
|
+
Summary:
|
807
1505
|
|
808
|
-
|
809
|
-
* **secret_access_key**: AWS Secret Access Key.
|
810
|
-
* **application**: CodeDeploy Application Name.
|
811
|
-
* **deployment_group**: CodeDeploy Deployment Group Name.
|
812
|
-
* **revision_type**: CodeDeploy Revision Type (S3 or GitHub).
|
813
|
-
* **commit_id**: Commit ID in case of GitHub.
|
814
|
-
* **repository**: Repository Name in case of GitHub.
|
815
|
-
* **bucket**: S3 bucket in case of S3.
|
816
|
-
* **region**: AWS Availability Zone.
|
817
|
-
* **wait_until_deployed**: Wait until the app is deployed and return the deployment status (Optional, Default false).
|
1506
|
+
PyPI deployment provider
|
818
1507
|
|
819
|
-
|
1508
|
+
Description:
|
820
1509
|
|
821
|
-
|
822
|
-
* **AWS_SECRET_ACCESS_KEY**: AWS Secret Key. Used if the `secret_access_key` option is omitted.
|
1510
|
+
tbd
|
823
1511
|
|
824
|
-
|
1512
|
+
Support for deployments to PyPI is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
825
1513
|
|
826
|
-
|
1514
|
+
Options:
|
827
1515
|
|
828
|
-
|
1516
|
+
--username NAME PyPI Username (type: string, required: true, alias: user)
|
1517
|
+
--password PASS PyPI Password (type: string, required: true)
|
1518
|
+
--server SERVER Release to a different index (type: string, default:
|
1519
|
+
https://upload.pypi.org/legacy/)
|
1520
|
+
--distributions DISTS Space-separated list of distributions to be uploaded to PyPI (type: string,
|
1521
|
+
default: sdist)
|
1522
|
+
--docs_dir DIR Path to the directory to upload documentation from (type: string, default:
|
1523
|
+
build/docs)
|
1524
|
+
--[no-]skip_existing Do not overwrite an existing file with the same name on the server.
|
1525
|
+
--[no-]upload_docs Upload documentation (default: false, note: most PyPI servers, including
|
1526
|
+
upload.pypi.org, do not support uploading documentation)
|
1527
|
+
--[no-]twine_check Whether to run twine check (default: true)
|
1528
|
+
--[no-]remove_build_dir Remove the build dir after the upload (default: true)
|
1529
|
+
--setuptools_version VER type: string, format: /\A\d+(?:\.\d+)*\z/
|
1530
|
+
--twine_version VER type: string, format: /\A\d+(?:\.\d+)*\z/
|
1531
|
+
--wheel_version VER type: string, format: /\A\d+(?:\.\d+)*\z/
|
829
1532
|
|
830
|
-
|
831
|
-
* **api_key**: scalingo API Key. Not necessary if username and password are used.
|
832
|
-
* **username**: scalingo username. Not necessary if api_key is used.
|
833
|
-
* **password**: scalingo password. Not necessary if api_key is used.
|
834
|
-
* **remote**: Remote url or git remote name of your git repository. By default remote name is "scalingo".
|
835
|
-
* **branch**: Branch of your git repository. By default branch name is "master".
|
836
|
-
* **app**: Only necessary if your repository does not contain the appropriate remote. Specifying the app will add a remote to your local repository: `git remote add <remote> git@scalingo.com:<app>.git`
|
1533
|
+
Common Options:
|
837
1534
|
|
838
|
-
|
1535
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1536
|
+
(string, can be given multiple times))
|
1537
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1538
|
+
--help Get help on this command
|
839
1539
|
|
840
|
-
|
841
|
-
It needs [Scalingo CLI](http://cli.scalingo.com/) which will be [downloaded here](http://cli.scalingo.com/).
|
842
|
-
Then, it will push your project to Scalingo and deploy it automatically.
|
1540
|
+
Examples:
|
843
1541
|
|
844
|
-
|
1542
|
+
dpl pypi --username name --password pass
|
1543
|
+
dpl pypi --username name --password pass --server server --distributions dists --docs_dir dir
|
1544
|
+
```
|
845
1545
|
|
846
|
-
|
1546
|
+
### Rubygems
|
847
1547
|
|
848
|
-
|
849
|
-
|
1548
|
+
```
|
1549
|
+
Usage: dpl rubygems [options]
|
850
1550
|
|
851
|
-
|
852
|
-
dpl --provider=scalingo --api_key="aaAAbbBB0011223344" --remote="scalingo-staging" --branch="master"
|
1551
|
+
Summary:
|
853
1552
|
|
854
|
-
|
1553
|
+
Rubygems deployment provider
|
855
1554
|
|
856
|
-
|
1555
|
+
Description:
|
857
1556
|
|
858
|
-
|
1557
|
+
tbd
|
859
1558
|
|
860
|
-
|
1559
|
+
Support for deployments to Rubygems is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
861
1560
|
|
862
|
-
|
1561
|
+
Options:
|
863
1562
|
|
864
|
-
|
1563
|
+
Either api_key, or user and password are required.
|
865
1564
|
|
866
|
-
|
1565
|
+
--api_key KEY Rubygems api key (type: string)
|
1566
|
+
--username USER Rubygems user name (type: string, alias: user)
|
1567
|
+
--password PASS Rubygems password (type: string)
|
1568
|
+
--gem NAME Name of the gem to release (type: string, default: repo name)
|
1569
|
+
--gemspec FILE Gemspec file to use to build the gem (type: string)
|
1570
|
+
--gemspec_glob GLOB Glob pattern to search for gemspec files when multiple gems are generated in the
|
1571
|
+
repository (overrides the gemspec option) (type: string)
|
1572
|
+
--host URL type: string
|
867
1573
|
|
868
|
-
|
1574
|
+
Common Options:
|
869
1575
|
|
870
|
-
|
1576
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1577
|
+
(string, can be given multiple times))
|
1578
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1579
|
+
--help Get help on this command
|
871
1580
|
|
872
|
-
|
873
|
-
it's [`gcloud` tool](https://cloud.google.com/sdk/gcloud/) using a [Service Account](https://developers.google.com/console/help/new/#serviceaccounts).
|
874
|
-
In order to use this provider, please make sure you have the [App Engine Admin API](https://developers.google.com/apis-explorer/#p/appengine/v1beta4/) enabled [in the Google Developers Console](https://console.developers.google.com/project/_/apiui/apiview/appengine/overview).
|
1581
|
+
Examples:
|
875
1582
|
|
876
|
-
|
1583
|
+
dpl rubygems --api_key key
|
1584
|
+
dpl rubygems --password pass
|
1585
|
+
dpl rubygems --api_key key --username user --gem name --gemspec file --gemspec_glob glob
|
1586
|
+
```
|
877
1587
|
|
878
|
-
|
879
|
-
* **keyfile**: Path to the JSON file containing your [Service Account](https://developers.google.com/console/help/new/#serviceaccounts) credentials in [JSON Web Token](https://tools.ietf.org/html/rfc7519) format. To be obtained via the [Google Developers Console](https://console.developers.google.com/project/_/apiui/credential). Defaults to `"service-account.json"`. Note that this file should be handled with care as it contains authorization keys.
|
880
|
-
* **config**: Path to your module configuration file. Defaults to `"app.yaml"`. This file is runtime dependent ([Go](https://cloud.google.com/appengine/docs/go/config/appconfig), [Java](https://cloud.google.com/appengine/docs/java/configyaml/appconfig_yaml), [PHP](https://developers.google.com/console/help/new/#projectnumber), [Python](https://cloud.google.com/appengine/docs/python/config/appconfig))
|
881
|
-
* **version**: The version of the app that will be created or replaced by this deployment. If you do not specify a version, one will be generated for you. See [`gcloud app deploy`](https://cloud.google.com/sdk/gcloud/reference/app/deploy)
|
882
|
-
* **no_promote**: Flag to not promote the deployed version. See [`gcloud app deploy`](https://cloud.google.com/sdk/gcloud/reference/app/deploy)
|
883
|
-
* **verbosity**: Let's you adjust the verbosity when invoking `"gcloud"`. Defaults to `"warning"`. See [`gcloud`](https://cloud.google.com/sdk/gcloud/reference/).
|
884
|
-
* **no_stop_previous_version**: Flag to prevent your deployment from stopping the previously promoted version. This is from the future, so might not work (yet). See [`gcloud app deploy`](https://cloud.google.com/sdk/gcloud/reference/app/deploy)
|
1588
|
+
### Scalingo
|
885
1589
|
|
886
|
-
|
1590
|
+
```
|
1591
|
+
Usage: dpl scalingo [options]
|
887
1592
|
|
888
|
-
|
889
|
-
* **GOOGLECLOUDKEYFILE**: Can be used instead of the `keyfile` option.
|
1593
|
+
Summary:
|
890
1594
|
|
891
|
-
|
1595
|
+
Scalingo deployment provider
|
892
1596
|
|
893
|
-
|
1597
|
+
Description:
|
894
1598
|
|
895
|
-
|
1599
|
+
tbd
|
896
1600
|
|
897
|
-
|
1601
|
+
Support for deployments to Scalingo is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
898
1602
|
|
899
|
-
|
900
|
-
* **project**: Deploy to a different Firebase project than specified in your `firebase.json` (e.g. `myapp-staging`)
|
901
|
-
* **message**: Optional. The message describing this deploy.
|
1603
|
+
Options:
|
902
1604
|
|
903
|
-
|
1605
|
+
Either api_token, or username and password are required.
|
904
1606
|
|
905
|
-
|
1607
|
+
--app APP type: string, default: repo name
|
1608
|
+
--api_token TOKEN Scalingo API token (type: string, alias: api_key (deprecated, please use
|
1609
|
+
api_token))
|
1610
|
+
--username NAME Scalingo username (type: string)
|
1611
|
+
--password PASS Scalingo password (type: string)
|
1612
|
+
--region REGION Scalingo region (type: string, default: agora-fr1, known values: agora-fr1,
|
1613
|
+
osc-fr1)
|
1614
|
+
--remote REMOTE Git remote name (type: string, default: scalingo-dpl)
|
1615
|
+
--branch BRANCH Git branch (type: string, default: master)
|
1616
|
+
--timeout SEC Timeout for Scalingo CLI commands (type: integer, default: 60)
|
906
1617
|
|
1618
|
+
Common Options:
|
907
1619
|
|
1620
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1621
|
+
(string, can be given multiple times))
|
1622
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1623
|
+
--help Get help on this command
|
1624
|
+
|
1625
|
+
Examples:
|
1626
|
+
|
1627
|
+
dpl scalingo --api_token token
|
1628
|
+
dpl scalingo --username name --password pass
|
1629
|
+
dpl scalingo --api_token token --app app --region agora-fr1 --remote remote --branch branch
|
1630
|
+
```
|
1631
|
+
|
1632
|
+
### Script
|
1633
|
+
|
1634
|
+
```
|
1635
|
+
Usage: dpl script [options]
|
1636
|
+
|
1637
|
+
Summary:
|
1638
|
+
|
1639
|
+
Minimal provider that executes a custom command
|
1640
|
+
|
1641
|
+
Description:
|
1642
|
+
|
1643
|
+
This deployment provider executes a single, custom command. This is
|
1644
|
+
usually a script that is contained in your repository, but it can be
|
1645
|
+
any command executable in the build environment.
|
1646
|
+
|
1647
|
+
It is possible to pass arguments to a script deployment like so:
|
1648
|
+
|
1649
|
+
dpl script -s './scripts/deploy.sh production --verbose'
|
1650
|
+
|
1651
|
+
Deployment will be marked a failure if the script exits with nonzero
|
1652
|
+
status.
|
1653
|
+
|
1654
|
+
Support for deployments to Script is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
1655
|
+
|
1656
|
+
Options:
|
1657
|
+
|
1658
|
+
-s --script SCRIPT The script to execute (type: string, required: true)
|
1659
|
+
|
1660
|
+
Common Options:
|
1661
|
+
|
1662
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1663
|
+
(string, can be given multiple times))
|
1664
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1665
|
+
--help Get help on this command
|
1666
|
+
|
1667
|
+
Examples:
|
1668
|
+
|
1669
|
+
dpl script --script script
|
1670
|
+
dpl script --script script --run cmd --cleanup
|
1671
|
+
```
|
908
1672
|
|
909
1673
|
### Snap
|
910
1674
|
|
911
|
-
|
1675
|
+
```
|
1676
|
+
Usage: dpl snap [options]
|
1677
|
+
|
1678
|
+
Summary:
|
1679
|
+
|
1680
|
+
Snap deployment provider
|
912
1681
|
|
913
|
-
|
1682
|
+
Description:
|
914
1683
|
|
915
|
-
|
916
|
-
|
917
|
-
|
1684
|
+
tbd
|
1685
|
+
|
1686
|
+
Support for deployments to Snap is in development. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
1687
|
+
|
1688
|
+
Options:
|
1689
|
+
|
1690
|
+
--token TOKEN Snap API token (type: string, required: true)
|
1691
|
+
--snap STR Path to the snap to be pushed (can be a glob) (type: string, default: **/*.snap)
|
1692
|
+
--channel CHAN Channel into which the snap will be released (type: string, default: edge)
|
1693
|
+
|
1694
|
+
Common Options:
|
1695
|
+
|
1696
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1697
|
+
(string, can be given multiple times))
|
1698
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1699
|
+
--help Get help on this command
|
1700
|
+
|
1701
|
+
Examples:
|
1702
|
+
|
1703
|
+
dpl snap --token token
|
1704
|
+
dpl snap --token token --snap str --channel chan --run cmd --cleanup
|
1705
|
+
```
|
918
1706
|
|
919
|
-
|
1707
|
+
### Surge
|
1708
|
+
|
1709
|
+
```
|
1710
|
+
Usage: dpl surge [options]
|
1711
|
+
|
1712
|
+
Summary:
|
1713
|
+
|
1714
|
+
Surge deployment provider
|
1715
|
+
|
1716
|
+
Description:
|
1717
|
+
|
1718
|
+
tbd
|
1719
|
+
|
1720
|
+
Support for deployments to Surge is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
1721
|
+
|
1722
|
+
Options:
|
1723
|
+
|
1724
|
+
--login EMAIL Surge login (the email address you use with Surge) (type: string, required:
|
1725
|
+
true)
|
1726
|
+
--token TOKEN Surge login token (can be retrieved with `surge token`) (type: string, required:
|
1727
|
+
true)
|
1728
|
+
--domain NAME Domain to publish to. Not required if the domain is set in the CNAME file in the
|
1729
|
+
project folder. (type: string)
|
1730
|
+
--project PATH Path to project directory relative to repo root (type: string, default: .)
|
1731
|
+
|
1732
|
+
Common Options:
|
1733
|
+
|
1734
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1735
|
+
(string, can be given multiple times))
|
1736
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1737
|
+
--help Get help on this command
|
1738
|
+
|
1739
|
+
Examples:
|
1740
|
+
|
1741
|
+
dpl surge --login email --token token
|
1742
|
+
dpl surge --login email --token token --domain name --project path --run cmd
|
1743
|
+
```
|
1744
|
+
|
1745
|
+
### TestFairy
|
1746
|
+
|
1747
|
+
```
|
1748
|
+
Usage: dpl testfairy [options]
|
1749
|
+
|
1750
|
+
Summary:
|
1751
|
+
|
1752
|
+
TestFairy deployment provider
|
1753
|
+
|
1754
|
+
Description:
|
1755
|
+
|
1756
|
+
Support for deployments to TestFairy is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
1757
|
+
|
1758
|
+
Options:
|
1759
|
+
|
1760
|
+
--api_key KEY TestFairy API key (type: string, required: true)
|
1761
|
+
--app_file FILE Path to the app file that will be generated after the build (APK/IPA) (type:
|
1762
|
+
string, required: true)
|
1763
|
+
--symbols_file FILE Path to the symbols file (type: string)
|
1764
|
+
--testers_groups GROUPS Tester groups to be notified about this build (type: string, e.g.: e.g.
|
1765
|
+
group1,group1)
|
1766
|
+
--[no-]notify Send an email with a changelog to your users
|
1767
|
+
--[no-]auto_update Automaticall upgrade all the previous installations of this app this version
|
1768
|
+
--advanced_options OPTS Comma_separated list of advanced options (type: string, e.g.: option1,option2)
|
1769
|
+
|
1770
|
+
Common Options:
|
1771
|
+
|
1772
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1773
|
+
(string, can be given multiple times))
|
1774
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1775
|
+
--help Get help on this command
|
1776
|
+
|
1777
|
+
Examples:
|
1778
|
+
|
1779
|
+
dpl testfairy --api_key key --app_file file
|
1780
|
+
dpl testfairy --api_key key --app_file file --symbols_file file --testers_groups groups --notify
|
1781
|
+
```
|
1782
|
+
|
1783
|
+
### Transifex
|
1784
|
+
|
1785
|
+
```
|
1786
|
+
Usage: dpl transifex [options]
|
920
1787
|
|
921
|
-
|
1788
|
+
Summary:
|
922
1789
|
|
1790
|
+
Transifex deployment provider
|
923
1791
|
|
1792
|
+
Description:
|
924
1793
|
|
925
|
-
|
1794
|
+
tbd
|
926
1795
|
|
927
|
-
|
1796
|
+
Support for deployments to Transifex is in alpha. Please see here: https://github.com/travis-ci/dpl/#maturity-levels
|
928
1797
|
|
929
|
-
|
930
|
-
* **domain** Domain to publish to. Can be omitted if domain is set in the `CNAME` file in the project folder.
|
1798
|
+
Options:
|
931
1799
|
|
1800
|
+
Either api_token, or username and password are required.
|
1801
|
+
|
1802
|
+
--api_token TOKEN Transifex API token (type: string)
|
1803
|
+
--username NAME Transifex username (type: string)
|
1804
|
+
--password PASS Transifex password (type: string)
|
1805
|
+
--hostname NAME Transifex hostname (type: string, default: www.transifex.com)
|
1806
|
+
--cli_version VER CLI version to install (type: string, default: >=0.11)
|
1807
|
+
|
1808
|
+
Common Options:
|
1809
|
+
|
1810
|
+
--run CMD Command to execute after the deployment finished successfully (type: array
|
1811
|
+
(string, can be given multiple times))
|
1812
|
+
--[no-]cleanup Skip cleaning up build artifacts before the deployment
|
1813
|
+
--help Get help on this command
|
1814
|
+
|
1815
|
+
Examples:
|
1816
|
+
|
1817
|
+
dpl transifex --api_token token
|
1818
|
+
dpl transifex --username name --password pass
|
1819
|
+
dpl transifex --api_token token --hostname name --cli_version ver --run cmd --cleanup
|
1820
|
+
```
|
1821
|
+
|
1822
|
+
## Contributing to Dpl
|
1823
|
+
|
1824
|
+
### Table of Contents
|
1825
|
+
|
1826
|
+
* [Resources](#resources)
|
1827
|
+
* [Navigating the Codebase](#navigating-the-codebase)
|
1828
|
+
* [Lifecycle of the Deployment Process](#lifecycle-of-the-deployment-process)
|
1829
|
+
* [Deployment Tooling](#deployment-tooling)
|
1830
|
+
* [Runtime Dependencies](#runtime-dependencies)
|
1831
|
+
* [Unit Tests](#unit-tests)
|
1832
|
+
* [Runtime Dependency Installation Tests](#runtime-dependency-installation-tests)
|
1833
|
+
* [Integration Tests](#integration-tests)
|
1834
|
+
* [Testing Dpl Branches or Forks on Travis CI](#testing-dpl-branches-or-forks-on-travis-ci)
|
1835
|
+
* [Code Conventions](#code-conventions)
|
1836
|
+
* [Naming Conventions](#naming-conventions)
|
1837
|
+
* [Updating the README](#updating-the-readme)
|
1838
|
+
|
1839
|
+
Dpl is a central component in Travis CI, and has been around for a long time.
|
1840
|
+
|
1841
|
+
This library always has been a community effort first. There probably is not a
|
1842
|
+
single person in the world who is very familiar with all deployment providers
|
1843
|
+
supported by Dpl.
|
1844
|
+
|
1845
|
+
*Thank you all for this!*
|
1846
|
+
|
1847
|
+
This document is for you if you are looking to contribute to dpl, be it by
|
1848
|
+
adding a new deployment provider, fixing a bug, or adding a new feature.
|
1849
|
+
|
1850
|
+
Dpl has a [code of conduct](CODE_OF_CONDUCT.md), please follow it in all
|
1851
|
+
interactions with the project.
|
1852
|
+
|
1853
|
+
Dpl is written in Ruby, and we assume that you familiarize yourself with our
|
1854
|
+
documentation as much as needed.
|
1855
|
+
|
1856
|
+
### Resources
|
1857
|
+
|
1858
|
+
Hopefully helpful resources are:
|
1859
|
+
|
1860
|
+
* This [document](CONTRIBUTING.md)
|
1861
|
+
* The [dpl README](README.md)
|
1862
|
+
* The [dpl API docs](https://www.rubydoc.info/github/travis-ci/dpl) on rubydocs.info
|
1863
|
+
* The [cl README](https://github.com/svenfuchs/cl/blob/master/README.md)
|
1864
|
+
|
1865
|
+
### Navigating the Codebase
|
1866
|
+
|
1867
|
+
All provider specific classes live in [dpl/providers](lib/dpl/providers).
|
1868
|
+
These represent the CLI commands that are executed when the command line
|
1869
|
+
exectuable `dpl` is run with a given provider name as the first argument.
|
1870
|
+
|
1871
|
+
Each provider is a subclass of `Dpl::Provider`, which is defined in
|
1872
|
+
[dpl/provider.rb](lib/dpl/provider.rb). The provider base class itself
|
1873
|
+
subclasses from `Cl::Cmd`, so it represents an executable sub command of the
|
1874
|
+
main command `dpl`.
|
1875
|
+
|
1876
|
+
For instance, the command `dpl s3 --bucket bucket` instantiates and runs the
|
1877
|
+
provider class [S3](lib/dpl/providers/s3.rb).
|
1878
|
+
|
1879
|
+
The class `Cl::Cmd` contributes the command line options parser, and its
|
1880
|
+
class level DSL. Please see the [cl README](https://github.com/svenfuchs/cl/blob/master/README.md)
|
1881
|
+
for this DSL, and the [S3 provider](/lib/dpl/provider/s3.rb)
|
1882
|
+
for an example how dpl uses it.
|
1883
|
+
|
1884
|
+
The class `Dpl::Provider` adds, amongst other things, the order of stages
|
1885
|
+
(methods) that make up the deployment process:
|
1886
|
+
|
1887
|
+
* `init`
|
1888
|
+
* `install`
|
1889
|
+
* `login`
|
1890
|
+
* `setup`
|
1891
|
+
* `validate`
|
1892
|
+
* `prepare`
|
1893
|
+
* `deploy`
|
1894
|
+
* `finish`
|
1895
|
+
|
1896
|
+
Implementors of concrete provider classes may or may not choose to implement
|
1897
|
+
any of these instance methods according to their needs, and semantics of their
|
1898
|
+
tooling and service providers. Please refer to [Dpl::Provider](/lib/dpl/provider.rb)
|
1899
|
+
for details.
|
1900
|
+
|
1901
|
+
The DSL that is used to declare features, dependencies, environment integration
|
1902
|
+
etc. on the concrete provider classes is defined in the module
|
1903
|
+
`Dpl::Provider::DSL`, in [dpl/provider/dsl](/lib/dpl/provider/dsl.rb).
|
1904
|
+
|
1905
|
+
Also of interest is [Dpl::Ctx::Bash](/lib/dpl/ctx/bash.rb),
|
1906
|
+
the Bash execution context, that runs shell commands, installs dependencies
|
1907
|
+
etc. (while the `Test` context class is used for testing in order to keep your
|
1908
|
+
development machine clean and safe when you run tests locally).
|
1909
|
+
|
1910
|
+
```
|
1911
|
+
lib
|
1912
|
+
└── dpl
|
1913
|
+
├── assets # Stores larger shell scripts
|
1914
|
+
├── ctx
|
1915
|
+
│ ├── bash.rb # Bash execution context
|
1916
|
+
│ └── test.rb # Test execution context
|
1917
|
+
├── provider.rb # Base class for all providers
|
1918
|
+
├── provider
|
1919
|
+
│ ├── dsl.rb # DSL for defining providers
|
1920
|
+
│ └── example.rb # Generating example commands for help output
|
1921
|
+
└── providers
|
1922
|
+
├── anynines.rb # Concrete providers
|
1923
|
+
├── atlas.rb
|
1924
|
+
├── azure_webapps.rb
|
1925
|
+
├── bintray.rb
|
1926
|
+
├── bitballoon.rb
|
1927
|
+
└── ⋮
|
1928
|
+
```
|
1929
|
+
|
1930
|
+
### Lifecycle of the Deployment Process
|
1931
|
+
|
1932
|
+
When a provider class is instantiated and run it will go through a number
|
1933
|
+
of stages that make up the deployment process.
|
1934
|
+
|
1935
|
+
These are documented in [dpl/provider.rb](/lib/dpl/provider.rb).
|
1936
|
+
If you are adding a new deployment provider please familiarize youself with
|
1937
|
+
this lifecycle.
|
1938
|
+
|
1939
|
+
Feel free to pick and interpret these stages according to the needs and
|
1940
|
+
semantics of the service provider you are adding. By no means do all of these
|
1941
|
+
stages have to be filled in or implmented. The `Provider` base class checks for
|
1942
|
+
these methods, and runs them, if present, so that implementors can choose
|
1943
|
+
semantically fitting names for their providers.
|
1944
|
+
|
1945
|
+
### Deployment Tooling
|
1946
|
+
|
1947
|
+
If you are adding a new deployment provider please choose the tooling you are
|
1948
|
+
going to use carefully.
|
1949
|
+
|
1950
|
+
Dpl is a long lived library, and it has outlived many tools that once were
|
1951
|
+
supported, and no longer are. Thus tooling stability is a major concern for
|
1952
|
+
this project.
|
1953
|
+
|
1954
|
+
Ideally use official CLI tooling supported by the company who's service
|
1955
|
+
provider you are about to add. Often, such CLI tools can be installed via
|
1956
|
+
standard package managers, or manually downloaded using `curl` and installed
|
1957
|
+
with a few simple Bash commands.
|
1958
|
+
|
1959
|
+
Such CLI tooling is preferrable over Ruby gem runtime dependencies as they can
|
1960
|
+
be executed in a child process, and won't introduce any dependency resolution
|
1961
|
+
problems later on.
|
1962
|
+
|
1963
|
+
If no such CLI is available, or it does not look well supported, and your
|
1964
|
+
provider implementation needs to talk to an external HTTP API then please consider
|
1965
|
+
using [Net::HTTP](https://ruby-doc.org/stdlib-2.6.3/libdoc/net/http/rdoc/Net/HTTP.html)
|
1966
|
+
from Ruby's standard library.
|
1967
|
+
|
1968
|
+
If you absolutely have to rely on a runtime Ruby gem dependency, such as a
|
1969
|
+
provider client implementation, please only do so if the gem is supported by
|
1970
|
+
the respective company officially. We may choose to reject including runtime
|
1971
|
+
dependencies that do not look stable or widely supported.
|
1972
|
+
|
1973
|
+
### Runtime Dependencies
|
1974
|
+
|
1975
|
+
Runtime dependencies can be declared on the provider class using the
|
1976
|
+
[DSL](lib/dpl/provider/dsl.rb).
|
1977
|
+
|
1978
|
+
In the case of APT, NPM, and Pip dependencies these will be installed via
|
1979
|
+
shell commands at the beginning of the deployment process.
|
1980
|
+
|
1981
|
+
Ruby gem dependencies will be installed using Bundler's [inline API](https://github.com/bundler/bundler/blob/master/lib/bundler/inline.rb),
|
1982
|
+
at the beginning of the deployment process, so they are available in the same
|
1983
|
+
Ruby process from then on.
|
1984
|
+
|
1985
|
+
### Unit Tests
|
1986
|
+
|
1987
|
+
`Dpl` uses [RSpec](https://github.com/rspec) for tests. The specs reside in
|
1988
|
+
`spec`, and each provider class has a corresponding file
|
1989
|
+
`spec/dpl/providers/*_spec.rb` to hold tests.
|
1990
|
+
|
1991
|
+
Provider tests should be implemented on an input/output acceptance level, as
|
1992
|
+
much as possible.
|
1993
|
+
|
1994
|
+
They use a [Ctx::Test](blob/masterlib/dpl/ctx/test.rb) execution context in
|
1995
|
+
order to avoid running actual shell commands, or actually installing
|
1996
|
+
dependencies at test time. There are custom [RSpec matchers](spec/support/matchers)
|
1997
|
+
in place that help with making assertions against this execution context.
|
1998
|
+
|
1999
|
+
If your provider has to talk to an external HTTP API then ideally use
|
2000
|
+
[Webmock](https://github.com/bblimke/webmock) to stub external requests. If by
|
2001
|
+
any means possible try to avoid mocking or stubbing Ruby client classes (this
|
2002
|
+
is not always possible, but should be considered).
|
2003
|
+
|
2004
|
+
#### Running Unit Tests Locally
|
2005
|
+
|
2006
|
+
You can run the unit test suite locally as follows:
|
2007
|
+
|
2008
|
+
```
|
2009
|
+
bundle install
|
2010
|
+
bundle exec rspec
|
2011
|
+
```
|
2012
|
+
|
2013
|
+
In order to execute tests only for a certain provider you can run:
|
2014
|
+
|
2015
|
+
```
|
2016
|
+
bundle exec rspec spec/dpl/providers/[provider]_spec.rb
|
2017
|
+
```
|
2018
|
+
|
2019
|
+
In order to execute a single test or group of tests add a line number like so:
|
2020
|
+
|
2021
|
+
```
|
2022
|
+
bundle exec rspec spec/dpl/providers/[provider]_spec.rb:25
|
2023
|
+
```
|
2024
|
+
|
2025
|
+
These tests can be run safely on any development machine, anywhere.
|
2026
|
+
|
2027
|
+
### Runtime Dependency Installation Tests
|
2028
|
+
|
2029
|
+
We additionally run tests that exercise runtime dependency installation on
|
2030
|
+
Travis CI.
|
2031
|
+
|
2032
|
+
These live in [.travis/test_install.rb](.travis/test_install.rb). It is not
|
2033
|
+
advisable to run these tests outside of an ephemeral VM or container that can
|
2034
|
+
be safely discarded, as they are going to leave various artifacts around.
|
2035
|
+
|
2036
|
+
### Integration Tests
|
2037
|
+
|
2038
|
+
In order to ensure proper integration with the service providers supported
|
2039
|
+
we also periodically run a test suite that exercises actual deployments to
|
2040
|
+
these providers.
|
2041
|
+
|
2042
|
+
These tests live in [.travis/providers](/.travis/providers), and the are
|
2043
|
+
triggered using the script [trigger](/.travis/trigger).
|
2044
|
+
|
2045
|
+
An integration test consists of:
|
2046
|
+
|
2047
|
+
* A setup script that creates an application (or artifact) to deploy (or
|
2048
|
+
upload).
|
2049
|
+
* A YAML config snippet that configures and triggers the deployment as part of
|
2050
|
+
a build on Travis CI.
|
2051
|
+
* A test script that tests if the deployment was successful.
|
2052
|
+
|
2053
|
+
For example:
|
2054
|
+
|
2055
|
+
* [github-pages/prepare](/.travis/providers/github-pages/prepare)
|
2056
|
+
creates a minimal Git repository that serves an `index.html` on GitHub Pages in a temporary directory.
|
2057
|
+
* [github-pages/travis.yml](/.travis/providers/github-pages/travis.yml)
|
2058
|
+
configures the build to use Dpl 2.0 to deploy this repository to GitHub Pages.
|
2059
|
+
* [github-pages/test](/.travis/providers/github-pages/test)
|
2060
|
+
tests if the deployment was successful.
|
2061
|
+
|
2062
|
+
The tests can be run on Travis CI individually, or combined, by triggering a
|
2063
|
+
build via our API, using the script [.travis/trigger](/.travis/trigger).
|
2064
|
+
This takes a provider name as an argument, and requires a Travis CI API token.
|
2065
|
+
|
2066
|
+
For example, this triggers a build that executes the GitHub Pages test on
|
2067
|
+
Travis CI:
|
2068
|
+
|
2069
|
+
```
|
2070
|
+
.travis/trigger github-pages --token [token]
|
2071
|
+
```
|
2072
|
+
|
2073
|
+
The token can also be set as an environment variable:
|
2074
|
+
|
2075
|
+
```
|
2076
|
+
export TRAVIS_API_TOKEN=[token]
|
2077
|
+
.travis/trigger github-pages
|
2078
|
+
```
|
2079
|
+
|
2080
|
+
The `trigger` script accepts multiple provider names as arguments. If no
|
2081
|
+
arguments are given then tests for all providers will be run.
|
2082
|
+
|
2083
|
+
#### Integration Test Configuration
|
2084
|
+
|
2085
|
+
In the build config YAML snippet make sure to use the branch of your fork for the
|
2086
|
+
deployment tooling, and allow the deployment to run on your branch:
|
2087
|
+
|
2088
|
+
```yaml
|
2089
|
+
deploy:
|
2090
|
+
- provider: [name]
|
2091
|
+
edge:
|
2092
|
+
source: [your-login]/dpl
|
2093
|
+
branch: [your-branch]
|
2094
|
+
on:
|
2095
|
+
branch: [your-branch]
|
2096
|
+
```
|
2097
|
+
|
2098
|
+
Ideally use credentials for an isolated account on the service you are deploying to.
|
2099
|
+
This is generally good practice, and way you can hand things off to someone else.
|
2100
|
+
|
2101
|
+
In order to get things working encrypt the credentials against your fork, and
|
2102
|
+
add them to the build config YAML snippet. If you are in the root directory
|
2103
|
+
of your fork then this command should do the trick:
|
2104
|
+
|
2105
|
+
```
|
2106
|
+
travis encrypt password=[password]
|
2107
|
+
```
|
2108
|
+
|
2109
|
+
If you do not have the `travis` CLI installed you can install it using:
|
2110
|
+
|
2111
|
+
```
|
2112
|
+
gem install travis
|
2113
|
+
```
|
2114
|
+
|
2115
|
+
When you add encrypted credentials to the build config YAML snippet also add a comment
|
2116
|
+
that allows others to identify the account used. E.g:
|
2117
|
+
|
2118
|
+
```yaml
|
2119
|
+
deploy:
|
2120
|
+
- provider: pages
|
2121
|
+
github_token:
|
2122
|
+
# personal access token with repo scope on the account [name]
|
2123
|
+
secure: "[encrypted token]"
|
2124
|
+
```
|
2125
|
+
|
2126
|
+
Open a pull request. In order for us to merge your test, and get it working on
|
2127
|
+
our repository you will need to re-encrypt the credentials against
|
2128
|
+
`travis-ci/dpl`, like so:
|
2129
|
+
|
2130
|
+
```
|
2131
|
+
travis encrypt -r travis-ci/dpl password=[password]
|
2132
|
+
```
|
2133
|
+
|
2134
|
+
Whatever minimal deployment you can get working is be a great contribution.
|
2135
|
+
Even if for some reason it proves hard to test the deployment in an automated
|
2136
|
+
fashion, but you have a successful deployment that can be verified manually,
|
2137
|
+
please still open a pull request, and talk to us. Any test is better than no
|
2138
|
+
test.
|
2139
|
+
|
2140
|
+
### Testing Dpl Branches or Forks on Travis CI
|
2141
|
+
|
2142
|
+
It is possible to test a new deployment provider or new functionality of dpl on
|
2143
|
+
Travis CI. In order to do so, add proper configuraiton on the `edge` key to
|
2144
|
+
your `.travis.yml` like so:
|
2145
|
+
|
2146
|
+
```yaml
|
2147
|
+
deploy:
|
2148
|
+
provider: [name]
|
2149
|
+
edge:
|
2150
|
+
source: [github-handle]/dpl
|
2151
|
+
branch: [branch]
|
2152
|
+
on:
|
2153
|
+
branch: TEST_BRANCH # or all_branches: true
|
2154
|
+
⋮ # rest of your provider's configuration
|
2155
|
+
```
|
2156
|
+
|
2157
|
+
This builds the `dpl` gem on the Travis CI build environment from your
|
2158
|
+
repository, on the given branch. Then it installs the gem built from this code
|
2159
|
+
base, and uses it to run your deployment.
|
2160
|
+
|
2161
|
+
When submitting a pull request, please be sure to run at least one deployment
|
2162
|
+
with the new configuration, and provide a link to the build in your pull
|
2163
|
+
request.
|
2164
|
+
|
2165
|
+
### Code Conventions
|
2166
|
+
|
2167
|
+
Dpl does not follow any strict code styleguide.
|
2168
|
+
|
2169
|
+
Please take a look around other providers, and try to follow a similar code
|
2170
|
+
style to what you find.
|
2171
|
+
|
2172
|
+
Try to use the [DSL](/lib/dpl/provider/dsl.rb) as much
|
2173
|
+
as possible. It keeps the code declarative and readable, so that people not
|
2174
|
+
familiar with Ruby or programming in general can still follow it, and make
|
2175
|
+
sense of it.
|
2176
|
+
|
2177
|
+
If you find yourself trying to achieve something that should be, but is not
|
2178
|
+
supported by the DSL please [open an issue](https://github.com/travis-ci/dpl/issues/new)
|
2179
|
+
about it.
|
2180
|
+
|
2181
|
+
If you are rather unfamiliar with Ruby, and have trouble following our code
|
2182
|
+
style then please submit your pull request anyway, or get in touch, so we can
|
2183
|
+
help.
|
2184
|
+
|
2185
|
+
### Naming Conventions
|
2186
|
+
|
2187
|
+
Dpl uses constant names following Ruby naming conventions. I.e. constant
|
2188
|
+
names use `CamelCase`, and they live in files named in `snake_case.rb`.
|
2189
|
+
|
2190
|
+
If you pick such names for a new provider please try to follow these
|
2191
|
+
conventions.
|
2192
|
+
|
2193
|
+
Real world service provider or company names do not always translate to such
|
2194
|
+
conventional Ruby names one-to-one. That is ok, they don't have to. These Ruby
|
2195
|
+
constant names are representations of real world service and company names in
|
2196
|
+
Ruby code.
|
2197
|
+
|
2198
|
+
Other Ruby libraries often (not always) follow a similar thinking. E.g.
|
2199
|
+
even though Amazon Web Services brand name is `AWS` the module name
|
2200
|
+
they chose in their [aws-sdk](https://github.com/aws/aws-sdk-ruby) is
|
2201
|
+
`Aws`, not `AWS`.
|
2202
|
+
|
2203
|
+
### Updating the README
|
2204
|
+
|
2205
|
+
The [README](/README.md) is generated from a
|
2206
|
+
[template](/lib/dpl/assets/dpl/README.erb.md).
|
2207
|
+
|
2208
|
+
In order to update the README please edit the template, and run:
|
2209
|
+
|
2210
|
+
```
|
2211
|
+
gem install ffi-icu
|
2212
|
+
bin/readme > README.md
|
2213
|
+
```
|
932
2214
|
|
933
|
-
#### Environment variables:
|
934
2215
|
|
935
|
-
|
936
|
-
* **SURGE_TOKEN**: Set it to your login token (get it by doing a `surge token`)
|
2216
|
+
## Old Issues
|
937
2217
|
|
938
|
-
|
939
|
-
|
2218
|
+
If an issue has been left open and untouched for 90 days or more, we
|
2219
|
+
automatically close them. We do this to ensure that new issues are more easily
|
2220
|
+
noticeable, and that old issues that have been resolved or are no longer
|
2221
|
+
relevant are closed. You can read more about this [here](https://blog.travis-ci.com/2018-03-09-closing-old-issues).
|
940
2222
|
|
941
|
-
|
2223
|
+
## Code of Conduct
|
942
2224
|
|
943
|
-
|
2225
|
+
Please see [our code of conduct](CODE_OF_CONDUCT.md) for how to interact with
|
2226
|
+
this project and its community.
|
944
2227
|
|
945
|
-
|
946
|
-
* **password**: Bluemix password.
|
947
|
-
* **organization**: Bluemix target organization.
|
948
|
-
* **space**: Bluemix target space
|
949
|
-
* **region**: Bluemix region [ng, eu-gb, eu-de, au-syd]. Optional, default US region (ng).
|
950
|
-
* **api**: Bluemix api URL. Optional for Bluemix dedicated. Explicit **api** setting precedence over **region** setting.
|
951
|
-
* **app_name**: Application name. Optional.
|
952
|
-
* **manifest**: Path to manifest file. Optional.
|
953
|
-
* **skip_ssl_validation**: Skip ssl validation. Optional.
|
2228
|
+
## License
|
954
2229
|
|
955
|
-
|
2230
|
+
Dpl is licensed under the [MIT License](https://github.com/travis-ci/dpl/blob/master/LICENSE).
|
956
2231
|
|
957
|
-
|
2232
|
+
## Credits
|
958
2233
|
|
959
|
-
|
2234
|
+
This tool would not exist without your help.
|
960
2235
|
|
961
|
-
|
962
|
-
`dpl` at run time, if it is not available.
|
963
|
-
This causes [a problem](https://github.com/travis-ci/dpl/issues/769)
|
964
|
-
if you invoke `dpl` via `dpl`, where the process instaling the
|
965
|
-
provider code may not have sufficient permissions.
|
2236
|
+
A huge thank you goes out to all of our current and past [contributors](https://github.com/travis-ci/dpl/graphs/contributors):
|
966
2237
|
|
967
|
-
|
968
|
-
`dpl`) with `sudo` beforehand to work around this issue.
|
2238
|
+
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, Alexander Springer, Alexey Kotlyarov, Ali Hajimirza, Amos Wenger, Anders Olsen Sandvik, Andrey Lushchick, Andy Vanbutsele, Angelo Livanos, Anne-Julia Seitz, Antoine Savignac, Anton Babenko, Anton Ilin, Arnold Daniels, Ashen Gunaratne, awesomescot, Axel Fontaine, Baptiste Courtois, Ben Hale, Benjamin Guttmann, Bob, Bob Zoller, Brad Gignac, Brandon Burton, Brandon LeBlanc, Brian Hou, Cameron White, capotej, Carla, carlad, Chad Engler, Chathan Driehuys, Christian Elsen, Christian Rackerseder, Clay Reimann, cleem, Cryptophobia, Damien Mathieu, Dan Buch, Dan Powell, Daniel X Moore, David F. Severski, Denis Cornehl, Dennis Koot, Devin J. Pohly, Dominic Jodoin, Dwayne Forde, emdantrim, Eric Peterson, Erik Dalén, Esteban Santiesteban, Étienne Michon, eyalbe4, Fabio Napoleoni, Felix Rieseberg, fgogolli, Filip Š, Flamur Gogolli, Gabriel Saldana, George Brighton, Gil, Gil Megidish, Gil Tselenchuk, Hao Luo, Hauke Stange, Henrik Hodne, Hiro Asari, IMANAKA, Kouta, Ivan Evtuhovich, Ivan Kusalic, Ivan Pozdeev, Jacob Burkhart, Jake Hewitt, Jakub Holy, James Adam, James Awesome, James Parker, Janderson, Jannis Leidel, Jeffrey Yasskin, Jeremy Frasier, 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, 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, Ole Michaelis, Omer Katz, Patrique Legault, Paul Beaudoin, Paul Nikitochkin, Peter, Peter Georgantas, Peter Newman, Philipp Hansch, Piotr Sarnacki, Rail Aliiev, Randall A. Gordon, Robert Gogolok, Rokas Brazdžionis, Romuald Bulyshko, ryanj, Ryn Daniels, Samir Talwar, Samuel Wright, Sandor Zeestraten, 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, Wim Looman, Xavier Krantz, yeonhoyoon, Zane Williamson
|