dpl 2.0.0.beta.2 → 2.0.0.beta.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +10 -0
- data/CONTRIBUTING.md +3 -3
- data/Gemfile.lock +2 -2
- data/README.md +138 -22
- data/lib/dpl/assets/dpl/README.erb.md +1 -1
- data/lib/dpl/provider.rb +1 -1
- data/lib/dpl/providers.rb +2 -0
- data/lib/dpl/providers/bluemixcloudfoundry.rb +1 -1
- data/lib/dpl/providers/codedeploy.rb +1 -1
- data/lib/dpl/providers/elasticbeanstalk.rb +12 -6
- data/lib/dpl/providers/git_push.rb +269 -0
- data/lib/dpl/providers/gleis.rb +1 -1
- data/lib/dpl/providers/lambda.rb +1 -1
- data/lib/dpl/providers/nuget.rb +39 -0
- data/lib/dpl/providers/releases.rb +1 -1
- data/lib/dpl/providers/snap.rb +1 -1
- data/lib/dpl/version.rb +1 -1
- data/status.json +16 -6
- metadata +6 -4
- data/dpl-chef_supermarket-1.10.14.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a1f01c5ac0b8b54c0193bcbcd82563e6e721fcba
|
4
|
+
data.tar.gz: d6c14a5f04ad1992314280aa0bcee24d5d11e3c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6abcb163c1b0126c90f8687c7f3f3e804f447c89ef5b6789931726f3b9383450a121f522e13521603907506d9424b73baa35b246c018ab465c4f2a83ea47b19
|
7
|
+
data.tar.gz: ad90bc374e92a96db13243806da650a39ca633a4bd7571fad63e7da328cd9ce1c90924f40076dfbc2270ce7250e1ed9bf790f6a178369f3a99016d76dd1bc49a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## dpl v2.0.1-beta.3 (unreleased)
|
4
|
+
|
5
|
+
* Change git_push to use the GitHub token's user name and email as the
|
6
|
+
committer name and email
|
7
|
+
|
8
|
+
## dpl v2.0.1-beta.2 (2020-01-27)
|
9
|
+
|
10
|
+
* Change codedeploy, lambda, and pages to safelist variables available for
|
11
|
+
interpolation on user facing options
|
12
|
+
|
3
13
|
## dpl v2.0.1-beta.1 (2020-01-27)
|
4
14
|
|
5
15
|
* No changes
|
data/CONTRIBUTING.md
CHANGED
@@ -45,7 +45,7 @@ Hopefully helpful resources are:
|
|
45
45
|
|
46
46
|
All provider specific classes live in [dpl/providers](lib/dpl/providers).
|
47
47
|
These represent the CLI commands that are executed when the command line
|
48
|
-
|
48
|
+
executable `dpl` is run with a given provider name as the first argument.
|
49
49
|
|
50
50
|
Each provider is a subclass of `Dpl::Provider`, which is defined in
|
51
51
|
[dpl/provider.rb](lib/dpl/provider.rb). The provider base class itself
|
@@ -112,7 +112,7 @@ When a provider class is instantiated and run it will go through a number
|
|
112
112
|
of stages that make up the deployment process.
|
113
113
|
|
114
114
|
These are documented in [dpl/provider.rb](/lib/dpl/provider.rb).
|
115
|
-
If you are adding a new deployment provider please familiarize
|
115
|
+
If you are adding a new deployment provider please familiarize yourself with
|
116
116
|
this lifecycle.
|
117
117
|
|
118
118
|
Feel free to pick and interpret these stages according to the needs and
|
@@ -319,7 +319,7 @@ test.
|
|
319
319
|
## Testing Dpl Branches or Forks on Travis CI
|
320
320
|
|
321
321
|
It is possible to test a new deployment provider or new functionality of dpl on
|
322
|
-
Travis CI. In order to do so, add proper
|
322
|
+
Travis CI. In order to do so, add proper configuration on the `edge` key to
|
323
323
|
your `.travis.yml` like so:
|
324
324
|
|
325
325
|
```yaml
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dpl (2.0.0.beta.
|
4
|
+
dpl (2.0.0.beta.2)
|
5
5
|
cl (~> 1.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -86,7 +86,7 @@ GEM
|
|
86
86
|
rack (~> 2.0)
|
87
87
|
uuidtools (~> 2.1)
|
88
88
|
cistern (0.12.3)
|
89
|
-
cl (1.2.
|
89
|
+
cl (1.2.4)
|
90
90
|
regstry (~> 1.0.3)
|
91
91
|
coderay (1.1.2)
|
92
92
|
colorize (0.8.1)
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Dpl [![Build Status](https://travis-ci.com/travis-ci/dpl.svg?branch=master)](https://travis-ci.com/travis-ci/dpl) [![Code Climate](https://codeclimate.com/github/travis-ci/dpl.svg)](https://codeclimate.com/github/travis-ci/dpl) [![Coverage Status](https://coveralls.io/repos/travis-ci/dpl/badge.svg?branch=master&service=github&cache=2019-08-09_17:00)](https://coveralls.io/github/travis-ci/dpl?branch=master) [![Gem Version](https://img.shields.io/gem/v/dpl)](http://rubygems.org/gems/dpl) [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/travis-ci/dpl)
|
2
2
|
|
3
3
|
This version of the README documents dpl v2, the next major version of dpl.
|
4
|
-
The
|
4
|
+
The README for dpl v1, the version that is currently used in production on
|
5
5
|
Travis CI can be found [here](https://github.com/travis-ci/dpl/blob/v1/README.md).
|
6
6
|
|
7
7
|
Dpl is command line tool for deploying code, html, packages, or build artifacts
|
@@ -116,6 +116,7 @@ Dpl supports the following providers:
|
|
116
116
|
* [Engineyard](#engineyard)
|
117
117
|
* [Firebase](#firebase)
|
118
118
|
* [Flynn](#flynn)
|
119
|
+
* [Git (push)](#git-push-)
|
119
120
|
* [GitHub Pages](#github-pages)
|
120
121
|
* [GitHub Pages (API)](#github-pages-api-)
|
121
122
|
* [GitHub Releases](#github-releases)
|
@@ -129,6 +130,7 @@ Dpl supports the following providers:
|
|
129
130
|
* [Launchpad](#launchpad)
|
130
131
|
* [Netlify](#netlify)
|
131
132
|
* [npm](#npm)
|
133
|
+
* [nuget](#nuget)
|
132
134
|
* [OpenShift](#openshift)
|
133
135
|
* [Packagecloud](#packagecloud)
|
134
136
|
* [Puppet Forge](#puppet-forge)
|
@@ -243,7 +245,7 @@ Options can be given via env vars if prefixed with `[AWS_|CLOUDFORMATION_]`. E.g
|
|
243
245
|
|
244
246
|
### AWS Code Deploy
|
245
247
|
|
246
|
-
|
248
|
+
|
247
249
|
|
248
250
|
```
|
249
251
|
Usage: dpl codedeploy [options]
|
@@ -310,7 +312,14 @@ Summary:
|
|
310
312
|
|
311
313
|
Description:
|
312
314
|
|
313
|
-
|
315
|
+
Deploy to AWS Elastic Beanstalk: https://aws.amazon.com/elasticbeanstalk/
|
316
|
+
|
317
|
+
This provider:
|
318
|
+
|
319
|
+
* Creates a zip file (or uses one you provide)
|
320
|
+
* Uploads it to your EB application
|
321
|
+
* Optionally deploys to a specific EB environment
|
322
|
+
* Optionally waits until the deployment finishes
|
314
323
|
|
315
324
|
Options:
|
316
325
|
|
@@ -319,15 +328,14 @@ Options:
|
|
319
328
|
--region REGION AWS Region the Elastic Beanstalk app is running in (type: string, default:
|
320
329
|
us-east-1)
|
321
330
|
--app NAME Elastic Beanstalk application name (type: string, default: repo name)
|
322
|
-
--env NAME Elastic Beanstalk environment name
|
323
|
-
required)
|
331
|
+
--env NAME Elastic Beanstalk environment name to be updated. (type: string)
|
324
332
|
--bucket NAME Bucket name to upload app to (type: string, required, alias: bucket_name)
|
325
333
|
--bucket_path PATH Location within Bucket to upload app to (type: string)
|
326
334
|
--description DESC Description for the application version (type: string)
|
327
335
|
--label LABEL Label for the application version (type: string)
|
328
|
-
--zip_file PATH The zip file that you want to deploy
|
329
|
-
|
330
|
-
--[no-]wait_until_deployed Wait until the deployment has finished
|
336
|
+
--zip_file PATH The zip file that you want to deploy. If not given, a zipfile will be created
|
337
|
+
from the current directory, honoring .ebignore and .gitignore. (type: string)
|
338
|
+
--[no-]wait_until_deployed Wait until the deployment has finished (requires: env)
|
331
339
|
--wait_until_deployed_timeout SEC How many seconds to wait for Elastic Beanstalk deployment update. (type:
|
332
340
|
integer, default: 600)
|
333
341
|
|
@@ -340,8 +348,8 @@ Common Options:
|
|
340
348
|
|
341
349
|
Examples:
|
342
350
|
|
343
|
-
dpl elasticbeanstalk --access_key_id id --secret_access_key key --
|
344
|
-
dpl elasticbeanstalk --access_key_id id --secret_access_key key --
|
351
|
+
dpl elasticbeanstalk --access_key_id id --secret_access_key key --bucket name
|
352
|
+
dpl elasticbeanstalk --access_key_id id --secret_access_key key --bucket name --region region --app name
|
345
353
|
```
|
346
354
|
|
347
355
|
Options can be given via env vars if prefixed with `[AWS_|ELASTIC_BEANSTALK_]`. E.g. the option
|
@@ -619,7 +627,7 @@ as `BINTRAY_KEY=<key>`.
|
|
619
627
|
|
620
628
|
### Bluemix Cloud Foundry
|
621
629
|
|
622
|
-
|
630
|
+
|
623
631
|
|
624
632
|
```
|
625
633
|
Usage: dpl bluemixcloudfoundry [options]
|
@@ -779,7 +787,7 @@ Examples:
|
|
779
787
|
dpl chef_supermarket --user_id id --category cat --name name --client_key key --dir dir
|
780
788
|
```
|
781
789
|
|
782
|
-
Options can be given via env vars if prefixed with `CHEF_`.
|
790
|
+
Options can be given via env vars if prefixed with `CHEF_`.
|
783
791
|
|
784
792
|
### Cloud Files
|
785
793
|
|
@@ -947,7 +955,7 @@ Examples:
|
|
947
955
|
dpl convox --app app --rack rack --password pass --host host --install_url url
|
948
956
|
```
|
949
957
|
|
950
|
-
Options can be given via env vars if prefixed with `CONVOX_`.
|
958
|
+
Options can be given via env vars if prefixed with `CONVOX_`.
|
951
959
|
|
952
960
|
### Datica
|
953
961
|
|
@@ -983,7 +991,7 @@ Examples:
|
|
983
991
|
dpl datica --target target --path path --cleanup --run cmd
|
984
992
|
```
|
985
993
|
|
986
|
-
Options can be given via env vars if prefixed with `[CATALYZE_|DATICA_]`.
|
994
|
+
Options can be given via env vars if prefixed with `[CATALYZE_|DATICA_]`.
|
987
995
|
|
988
996
|
### Engineyard
|
989
997
|
|
@@ -1106,6 +1114,73 @@ Examples:
|
|
1106
1114
|
|
1107
1115
|
|
1108
1116
|
|
1117
|
+
### Git (push)
|
1118
|
+
|
1119
|
+
Support for deployments to Git (push) is in **development**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
|
1120
|
+
|
1121
|
+
```
|
1122
|
+
Usage: dpl git_push [options]
|
1123
|
+
|
1124
|
+
Summary:
|
1125
|
+
|
1126
|
+
Git (push) deployment provider
|
1127
|
+
|
1128
|
+
Description:
|
1129
|
+
|
1130
|
+
Experimental, generic provider for updating a Git remote branch with
|
1131
|
+
changes produced by the build, and optionally opening a pull request.
|
1132
|
+
|
1133
|
+
Options:
|
1134
|
+
|
1135
|
+
Either token, or deploy_key and name and email are required.
|
1136
|
+
|
1137
|
+
--repo SLUG Repo slug (type: string, default: repo slug)
|
1138
|
+
--token TOKEN GitHub token with repo permission (type: string, alias: github_token)
|
1139
|
+
--deploy_key PATH Path to a file containing a private deploy key with write access to the
|
1140
|
+
repository (type: string, see:
|
1141
|
+
https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys)
|
1142
|
+
--branch BRANCH Target branch to push to (type: string, required)
|
1143
|
+
--base_branch BRANCH Base branch to branch off initially, and (optionally) create a pull request for
|
1144
|
+
(type: string, default: master)
|
1145
|
+
--name NAME Committer name (type: string, note: defaults to the GitHub name or login
|
1146
|
+
associated with the GitHub token)
|
1147
|
+
--email EMAIL Committer email (type: string, note: defaults to the GitHub email associated
|
1148
|
+
with the GitHub token)
|
1149
|
+
--commit_message MSG type: string, default: Update %{base_branch}
|
1150
|
+
--[no-]allow_empty_commit Allow an empty commit to be created
|
1151
|
+
--[no-]force Whether to push --force (default: false)
|
1152
|
+
--local_dir DIR Local directory to push (type: string, default: .)
|
1153
|
+
--[no-]pull_request Whether to create a pull request for the given branch
|
1154
|
+
--[no-]allow_same_branch Whether to allow pushing to the same branch as the current branch (default:
|
1155
|
+
false, note: setting this to true risks creating infinite build loops, use
|
1156
|
+
conditional builds or other mechanisms to prevent build from infinitely
|
1157
|
+
triggering more builds)
|
1158
|
+
--host HOST type: string, default: github.com
|
1159
|
+
--[no-]enterprise Whether to use a GitHub Enterprise API style URL
|
1160
|
+
|
1161
|
+
Common Options:
|
1162
|
+
|
1163
|
+
--cleanup Clean up build artifacts from the Git working directory before the deployment
|
1164
|
+
--run CMD Commands to execute after the deployment finished successfully (type: array
|
1165
|
+
(string, can be given multiple times))
|
1166
|
+
--help Get help on this command
|
1167
|
+
|
1168
|
+
Examples:
|
1169
|
+
|
1170
|
+
dpl git_push --branch branch --token token
|
1171
|
+
dpl git_push --branch branch --deploy_key path --name name --email email
|
1172
|
+
dpl git_push --branch branch
|
1173
|
+
dpl git_push --branch branch --token token --repo slug --base_branch branch --commit_message msg
|
1174
|
+
```
|
1175
|
+
|
1176
|
+
Options can be given via env vars if prefixed with `[GITHUB_|GIT_]`. E.g. the option `--token` can
|
1177
|
+
be given as `GITHUB_TOKEN=<token>` or `GIT_TOKEN=<token>`.
|
1178
|
+
|
1179
|
+
The following variable are availabe for interpolation on `commit_message`:
|
1180
|
+
|
1181
|
+
`base_branch`, `branch`, `deploy_key`, `email`, `git_author_email`, `git_author_name`, `git_branch`, `git_commit_author`, `git_commit_msg`, `git_sha`, `git_tag`, `host`, `local_dir`, `name`, `repo`
|
1182
|
+
|
1183
|
+
|
1109
1184
|
### GitHub Pages
|
1110
1185
|
|
1111
1186
|
|
@@ -1126,7 +1201,7 @@ Options:
|
|
1126
1201
|
Either token, or deploy_key are required.
|
1127
1202
|
|
1128
1203
|
--repo SLUG Repo slug (type: string, default: repo slug)
|
1129
|
-
--token TOKEN GitHub
|
1204
|
+
--token TOKEN GitHub token with repo permission (type: string, alias: github_token)
|
1130
1205
|
--deploy_key PATH Path to a file containing a private deploy key with write access to the
|
1131
1206
|
repository (type: string, see:
|
1132
1207
|
https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys)
|
@@ -1143,7 +1218,7 @@ Options:
|
|
1143
1218
|
name)
|
1144
1219
|
--email EMAIL Committer email (type: string, note: defaults to the current git commit author
|
1145
1220
|
email)
|
1146
|
-
--[no-]committer_from_gh Use the token's owner name and email for the commit (requires:
|
1221
|
+
--[no-]committer_from_gh Use the token's owner name and email for the commit (requires: token)
|
1147
1222
|
--[no-]deployment_file Enable creation of a deployment-info file
|
1148
1223
|
--url URL type: string, alias: github_url, default: github.com
|
1149
1224
|
|
@@ -1246,7 +1321,7 @@ Options:
|
|
1246
1321
|
--[no-]file_glob Interpret files as globs (default: true)
|
1247
1322
|
--[no-]overwrite Overwrite files with the same name
|
1248
1323
|
--[no-]prerelease Identify the release as a prerelease
|
1249
|
-
--release_number NUM Release number (
|
1324
|
+
--release_number NUM Release number (override automatic release detection) (type: string)
|
1250
1325
|
--release_notes STR Content for the release notes (type: string, alias: body)
|
1251
1326
|
--release_notes_file PATH Path to a file containing the release notes (type: string, note: will be ignored
|
1252
1327
|
if --release_notes is given)
|
@@ -1695,6 +1770,47 @@ Examples:
|
|
1695
1770
|
Options can be given via env vars if prefixed with `NPM_`. E.g. the option `--api_token` can be
|
1696
1771
|
given as `NPM_API_TOKEN=<api_token>`.
|
1697
1772
|
|
1773
|
+
### nuget
|
1774
|
+
|
1775
|
+
Support for deployments to nuget is in **alpha**. Please see [Maturity Levels](https://github.com/travis-ci/dpl/#maturity-levels) for details.
|
1776
|
+
|
1777
|
+
```
|
1778
|
+
Usage: dpl nuget [options]
|
1779
|
+
|
1780
|
+
Summary:
|
1781
|
+
|
1782
|
+
nuget deployment provider
|
1783
|
+
|
1784
|
+
Description:
|
1785
|
+
|
1786
|
+
tbd
|
1787
|
+
|
1788
|
+
Options:
|
1789
|
+
|
1790
|
+
--api_key KEY NuGet registry API key (type: string, required, note: can be retrieved from your
|
1791
|
+
NuGet registry provider, see:
|
1792
|
+
https://docs.npmjs.com/creating-and-viewing-authentication-tokens)
|
1793
|
+
--registry URL NuGet registry url (type: string, required)
|
1794
|
+
--src SRC The nupkg file(s) to publish (type: string, default: *.nupkg)
|
1795
|
+
--[no-]no_symbols Do not push symbols, even if present
|
1796
|
+
--[no-]skip_duplicate Do not overwrite existing packages
|
1797
|
+
|
1798
|
+
Common Options:
|
1799
|
+
|
1800
|
+
--cleanup Clean up build artifacts from the Git working directory before the deployment
|
1801
|
+
--run CMD Commands to execute after the deployment finished successfully (type: array
|
1802
|
+
(string, can be given multiple times))
|
1803
|
+
--help Get help on this command
|
1804
|
+
|
1805
|
+
Examples:
|
1806
|
+
|
1807
|
+
dpl nuget --api_key key --registry url
|
1808
|
+
dpl nuget --api_key key --registry url --src src --no_symbols --skip_duplicate
|
1809
|
+
```
|
1810
|
+
|
1811
|
+
Options can be given via env vars if prefixed with `[DOTNET_|NUGET_]`. E.g. the option `--api_key`
|
1812
|
+
can be given as `NUGET_API_KEY=<api_key>` or `DOTNET_API_KEY=<api_key>`.
|
1813
|
+
|
1698
1814
|
### OpenShift
|
1699
1815
|
|
1700
1816
|
|
@@ -2004,7 +2120,7 @@ Examples:
|
|
2004
2120
|
|
2005
2121
|
### Snap
|
2006
2122
|
|
2007
|
-
|
2123
|
+
|
2008
2124
|
|
2009
2125
|
```
|
2010
2126
|
Usage: dpl snap [options]
|
@@ -2210,7 +2326,7 @@ Hopefully helpful resources are:
|
|
2210
2326
|
|
2211
2327
|
All provider specific classes live in [dpl/providers](lib/dpl/providers).
|
2212
2328
|
These represent the CLI commands that are executed when the command line
|
2213
|
-
|
2329
|
+
executable `dpl` is run with a given provider name as the first argument.
|
2214
2330
|
|
2215
2331
|
Each provider is a subclass of `Dpl::Provider`, which is defined in
|
2216
2332
|
[dpl/provider.rb](lib/dpl/provider.rb). The provider base class itself
|
@@ -2277,7 +2393,7 @@ When a provider class is instantiated and run it will go through a number
|
|
2277
2393
|
of stages that make up the deployment process.
|
2278
2394
|
|
2279
2395
|
These are documented in [dpl/provider.rb](/lib/dpl/provider.rb).
|
2280
|
-
If you are adding a new deployment provider please familiarize
|
2396
|
+
If you are adding a new deployment provider please familiarize yourself with
|
2281
2397
|
this lifecycle.
|
2282
2398
|
|
2283
2399
|
Feel free to pick and interpret these stages according to the needs and
|
@@ -2484,7 +2600,7 @@ test.
|
|
2484
2600
|
### Testing Dpl Branches or Forks on Travis CI
|
2485
2601
|
|
2486
2602
|
It is possible to test a new deployment provider or new functionality of dpl on
|
2487
|
-
Travis CI. In order to do so, add proper
|
2603
|
+
Travis CI. In order to do so, add proper configuration on the `edge` key to
|
2488
2604
|
your `.travis.yml` like so:
|
2489
2605
|
|
2490
2606
|
```yaml
|
@@ -2579,4 +2695,4 @@ This tool would not exist without your help.
|
|
2579
2695
|
|
2580
2696
|
A huge thank you goes out to all of our current and past [contributors](https://github.com/travis-ci/dpl/graphs/contributors):
|
2581
2697
|
|
2582
|
-
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, Chris Patterson, Christian Elsen, Christian Rackerseder, Clay Reimann, cleem, Cryptophobia, Damien Mathieu, Dan Buch, Dan Powell, Daniel X Moore, David F. Severski, Denis Cornehl, Dennis Koot, dependabot[bot], Devin J. Pohly, Dominic Jodoin, Dwayne Forde, emdantrim, Eric Peterson, Erik Dalén, Esteban Santiesteban, Étienne Michon, eyalbe4, Fabio Napoleoni, Felix Rieseberg, fgogolli, Filip Š, Flamur Gogolli, Gabriel Saldana, George Brighton, Gil, Gil Megidish, Gil Tselenchuk, Hao Luo, Hauke Stange, Henrik Hodne, Hiro Asari, IMANAKA, Kouta, Ivan Evtuhovich, Ivan Kusalic, Ivan Pozdeev, Jacob Burkhart, Jake Hewitt, Jakub Holy, James Adam, James Awesome, James Parker, Janderson, Jannis Leidel, Jeffrey Yasskin, Jeremy Frasier, JMSwag, Joe Damato, Joep van Delft, Johannes Würbach, johanneswuerbach, Johnny Dobbins, Jon Benson, Jon Rowe, Jon-Erik Schneiderhan, Jonatan Männchen, Jonathan Stites, Jonathan Sundqvist, jorgecasar, Josh Kalderimis, joshua-anderson, Jouni Kaplas, Julia S.Simon, Julio Capote, jung_b@localhost, Karim Fateem, Ke Zhu, konrad-c, Konstantin Haase, Kouta Imanaka, Kristofer Svardstal, Kyle Fazzari, Kyle VanderBeek, Loïc Mahieu, Lorenz Leutgeb, Lorne Currie, Louis Lagrange, Louis St-Amour, Luke Yeager, Maciej Skierkowski, Marc, María de Antón, mariadeanton, Mariana Lenetis and Zachary Gershman, Marius Gripsgard, Mark Pundsack, marscher, Marwan Rabbâa, Mathias Meyer, Mathias Rangel Wulff, Mathias San Miguel, Matt Hernandez, Matt Knox, Matt Travi, Matthew Knox, Maxime Brugidou, mayeut, Meir Gottlieb, Michael Bleigh, Michael Dunn, Michael Friis, Michel Boudreau, Mike Bryant, Nat Welch, Nicholas Bruning, Nick Mohoric, Nico Lindemann, Nigel Ramsay, Nikhil, Ole Michaelis, Olle Jonsson, Omer Katz, Patrique Legault, Paul Beaudoin, Paul Nikitochkin, Peter, Peter Georgantas, Peter Newman, Philipp Hansch, Piotr Sarnacki, Radek Lisowski, Radosław Lisowski, Rail Aliiev, Randall A. Gordon, Robert Gogolok, Rokas Brazdžionis, Romuald Bulyshko, root, ryanj, Ryn Daniels, Samir Talwar, Samuel Wright, Sandor Zeestraten, Sascha Zarhuber, SAULEAU Sven, Scot Spinner, Sebastien Estienne, Sergei Chertkov, shunyi, Simon, Solly, Sorin Sbarnea, Soulou, Stefan Kolb, Steffen Kötte, step76, Steven Berlanga, Sven Fuchs, Sviatoslav Sydorenko, testfairy, Tim Ysewyn, Troels Thomsen, Tyler Cross, Uriah Levy, Vincent Jacques, Vojtech Vondra, Vojtěch Vondra, Wael M. Nasreddine, Wen Kokke, Wim Looman, Xavier Krantz, yeonhoyoon, Zane Williamson
|
2698
|
+
5c077yP, A.J. May, A92hm, Aakriti Gupta, Aaron Hill, Aaron1011, Abdón Rodríguez Davila, Adam King, Adam Mcgrath, adinata, Adrian Moreno, Ahmad Nassri, Ahmed Refaey, Ainun Nazieb, Albertin Loic, Alex Jurkiewicz, Alexander Springer, Alexey Kotlyarov, Ali Hajimirza, Amos Wenger, Anders Olsen Sandvik, Andrey Lushchick, Andy Vanbutsele, Angelo Livanos, Anne-Julia Seitz, Antoine Savignac, Anton Babenko, Anton Ilin, Arnold Daniels, Ashen Gunaratne, awesomescot, Axel Fontaine, Baptiste Courtois, Ben Hale, Benjamin Guttmann, Bob, Bob Zoller, Brad Gignac, Brandon Burton, Brandon LeBlanc, Brian Hou, Cameron White, capotej, Carla, carlad, Chad Engler, Chathan Driehuys, Chris Patterson, Christian Elsen, Christian Rackerseder, Clay Reimann, cleem, Cryptophobia, Damien Mathieu, Dan Buch, Dan Powell, Daniel X Moore, David F. Severski, Denis Cornehl, Dennis Koot, dependabot[bot], Devin J. Pohly, Dominic Jodoin, Dwayne Forde, emdantrim, Eric Peterson, Erik Dalén, Esteban Santiesteban, Étienne Michon, eyalbe4, Fabio Napoleoni, Felix Rieseberg, fgogolli, Filip Š, Flamur Gogolli, Gabriel Saldana, George Brighton, Gil, Gil Megidish, Gil Tselenchuk, Hao Luo, Hauke Stange, Henrik Hodne, Hiro Asari, IMANAKA, Kouta, Ivan Evtuhovich, Ivan Kusalic, Ivan Pozdeev, Jacob Burkhart, Jake Hewitt, Jakub Holy, James Adam, James Awesome, James Parker, Janderson, Jannis Leidel, Jeffrey Yasskin, Jeremy Frasier, JMSwag, Joe Damato, Joep van Delft, Johannes Würbach, johanneswuerbach, Johnny Dobbins, Jon Benson, Jon Rowe, Jon-Erik Schneiderhan, Jonatan Männchen, Jonathan Stites, Jonathan Sundqvist, jorgecasar, Josh Kalderimis, joshua-anderson, Jouni Kaplas, Julia S.Simon, Julio Capote, jung_b@localhost, Karim Fateem, Ke Zhu, konrad-c, Konstantin Haase, Kouta Imanaka, Kristofer Svardstal, Kyle Fazzari, Kyle VanderBeek, Loïc Mahieu, Lorenz Leutgeb, Lorne Currie, Louis Lagrange, Louis St-Amour, Luke Yeager, Maciej Skierkowski, Mahdi Nami Damirchi, Marc, María de Antón, mariadeanton, Mariana Lenetis and Zachary Gershman, Marius Gripsgard, Mark Pundsack, marscher, Marwan Rabbâa, Mathias Meyer, Mathias Rangel Wulff, Mathias San Miguel, Matt Hernandez, Matt Knox, Matt Travi, Matthew Knox, Maxime Brugidou, mayeut, Meir Gottlieb, Michael Bleigh, Michael Dunn, Michael Friis, Michel Boudreau, Mike Bryant, Nat Welch, Nicholas Bruning, Nick Mohoric, Nico Lindemann, Nigel Ramsay, Nikhil, Ole Michaelis, Olle Jonsson, Omer Katz, Patrique Legault, Paul Beaudoin, Paul Nikitochkin, Peter, Peter Georgantas, Peter Newman, Philipp Hansch, Piotr Sarnacki, Radek Lisowski, Radosław Lisowski, Rail Aliiev, Randall A. Gordon, Robert, Robert Gogolok, Rokas Brazdžionis, Romuald Bulyshko, root, ryanj, Ryn Daniels, Samir Talwar, Samuel Wright, Sandor Zeestraten, Sascha Zarhuber, SAULEAU Sven, Scot Spinner, Sebastien Estienne, Sergei Chertkov, shunyi, Simon, Solly, Sorin Sbarnea, Soulou, Stefan Kolb, Steffen Kötte, step76, Steven Berlanga, Sven Fuchs, Sviatoslav Sydorenko, testfairy, Tim Ysewyn, Troels Thomsen, Tyler Cross, Uriah Levy, Vincent Jacques, Vojtech Vondra, Vojtěch Vondra, Wael M. Nasreddine, Wen Kokke, Wim Looman, Xavier Krantz, yeonhoyoon, Zane Williamson
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Dpl [![Build Status](https://travis-ci.com/travis-ci/dpl.svg?branch=master)](https://travis-ci.com/travis-ci/dpl) [![Code Climate](https://codeclimate.com/github/travis-ci/dpl.svg)](https://codeclimate.com/github/travis-ci/dpl) [![Coverage Status](https://coveralls.io/repos/travis-ci/dpl/badge.svg?branch=master&service=github&cache=2019-08-09_17:00)](https://coveralls.io/github/travis-ci/dpl?branch=master) [![Gem Version](https://img.shields.io/gem/v/dpl)](http://rubygems.org/gems/dpl) [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/travis-ci/dpl)
|
2
2
|
|
3
3
|
This version of the README documents dpl v2, the next major version of dpl.
|
4
|
-
The
|
4
|
+
The README for dpl v1, the version that is currently used in production on
|
5
5
|
Travis CI can be found [here](https://github.com/travis-ci/dpl/blob/v1/README.md).
|
6
6
|
|
7
7
|
Dpl is command line tool for deploying code, html, packages, or build artifacts
|
data/lib/dpl/provider.rb
CHANGED
data/lib/dpl/providers.rb
CHANGED
@@ -18,6 +18,7 @@ require 'dpl/providers/firebase'
|
|
18
18
|
require 'dpl/providers/flynn'
|
19
19
|
require 'dpl/providers/gae'
|
20
20
|
require 'dpl/providers/gcs'
|
21
|
+
require 'dpl/providers/git_push'
|
21
22
|
require 'dpl/providers/gleis'
|
22
23
|
require 'dpl/providers/hackage'
|
23
24
|
require 'dpl/providers/hephy'
|
@@ -26,6 +27,7 @@ require 'dpl/providers/lambda'
|
|
26
27
|
require 'dpl/providers/launchpad'
|
27
28
|
require 'dpl/providers/netlify'
|
28
29
|
require 'dpl/providers/npm'
|
30
|
+
require 'dpl/providers/nuget'
|
29
31
|
require 'dpl/providers/openshift'
|
30
32
|
require 'dpl/providers/opsworks'
|
31
33
|
require 'dpl/providers/packagecloud'
|
@@ -8,7 +8,14 @@ module Dpl
|
|
8
8
|
full_name 'AWS Elastic Beanstalk'
|
9
9
|
|
10
10
|
description sq(<<-str)
|
11
|
-
|
11
|
+
Deploy to AWS Elastic Beanstalk: https://aws.amazon.com/elasticbeanstalk/
|
12
|
+
|
13
|
+
This provider:
|
14
|
+
|
15
|
+
* Creates a zip file (or uses one you provide)
|
16
|
+
* Uploads it to your EB application
|
17
|
+
* Optionally deploys to a specific EB environment
|
18
|
+
* Optionally waits until the deployment finishes
|
12
19
|
str
|
13
20
|
|
14
21
|
gem 'aws-sdk-elasticbeanstalk', '~> 1.0'
|
@@ -23,14 +30,13 @@ module Dpl
|
|
23
30
|
opt '--secret_access_key KEY', 'AWS Secret Key', required: true, secret: true
|
24
31
|
opt '--region REGION', 'AWS Region the Elastic Beanstalk app is running in', default: 'us-east-1'
|
25
32
|
opt '--app NAME', 'Elastic Beanstalk application name', default: :repo_name
|
26
|
-
opt '--env NAME', 'Elastic Beanstalk environment name
|
33
|
+
opt '--env NAME', 'Elastic Beanstalk environment name to be updated.'
|
27
34
|
opt '--bucket NAME', 'Bucket name to upload app to', required: true, alias: :bucket_name
|
28
35
|
opt '--bucket_path PATH', 'Location within Bucket to upload app to'
|
29
36
|
opt '--description DESC', 'Description for the application version'
|
30
37
|
opt '--label LABEL', 'Label for the application version'
|
31
|
-
opt '--zip_file PATH', 'The zip file that you want to deploy'
|
32
|
-
opt '--
|
33
|
-
opt '--wait_until_deployed', 'Wait until the deployment has finished'
|
38
|
+
opt '--zip_file PATH', 'The zip file that you want to deploy. If not given, a zipfile will be created from the current directory, honoring .ebignore and .gitignore.'
|
39
|
+
opt '--wait_until_deployed', 'Wait until the deployment has finished', requires: :env
|
34
40
|
opt '--wait_until_deployed_timeout SEC', 'How many seconds to wait for Elastic Beanstalk deployment update.', type: :integer, default: 600
|
35
41
|
opt '--debug', internal: true
|
36
42
|
|
@@ -56,7 +62,7 @@ module Dpl
|
|
56
62
|
create_zip unless zip_exists?
|
57
63
|
upload
|
58
64
|
create_version
|
59
|
-
update_app
|
65
|
+
update_app if env?
|
60
66
|
end
|
61
67
|
|
62
68
|
def zip_file
|
@@ -0,0 +1,269 @@
|
|
1
|
+
module Dpl
|
2
|
+
module Providers
|
3
|
+
class GitPush < Provider
|
4
|
+
register :git_push
|
5
|
+
|
6
|
+
status :dev
|
7
|
+
|
8
|
+
full_name 'Git (push)'
|
9
|
+
|
10
|
+
description sq(<<-str)
|
11
|
+
Experimental, generic provider for updating a Git remote branch with
|
12
|
+
changes produced by the build, and optionally opening a pull request.
|
13
|
+
str
|
14
|
+
|
15
|
+
gem 'octokit', '~> 4.15.0'
|
16
|
+
gem 'public_suffix', '~> 3.0.3'
|
17
|
+
|
18
|
+
env :github, :git
|
19
|
+
|
20
|
+
required :token, [:deploy_key, :name, :email]
|
21
|
+
|
22
|
+
opt '--repo SLUG', 'Repo slug', default: :repo_slug
|
23
|
+
opt '--token TOKEN', 'GitHub token with repo permission', secret: true, alias: :github_token
|
24
|
+
opt '--deploy_key PATH', 'Path to a file containing a private deploy key with write access to the repository', see: 'https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys'
|
25
|
+
opt '--branch BRANCH', 'Target branch to push to', required: true
|
26
|
+
opt '--base_branch BRANCH', 'Base branch to branch off initially, and (optionally) create a pull request for', default: 'master'
|
27
|
+
opt '--name NAME', 'Committer name', note: 'defaults to the GitHub name or login associated with the GitHub token' #, default: :user_name
|
28
|
+
opt '--email EMAIL', 'Committer email', note: 'defaults to the GitHub email associated with the GitHub token' #, default: :user_email
|
29
|
+
opt '--commit_message MSG', default: 'Update %{base_branch}', interpolate: true
|
30
|
+
opt '--allow_empty_commit', 'Allow an empty commit to be created'
|
31
|
+
opt '--force', 'Whether to push --force', default: false
|
32
|
+
opt '--local_dir DIR', 'Local directory to push', default: '.'
|
33
|
+
opt '--pull_request', 'Whether to create a pull request for the given branch'
|
34
|
+
opt '--allow_same_branch', 'Whether to allow pushing to the same branch as the current branch', default: false, note: 'setting this to true risks creating infinite build loops, use conditional builds or other mechanisms to prevent build from infinitely triggering more builds'
|
35
|
+
opt '--host HOST', default: 'github.com'
|
36
|
+
opt '--enterprise', 'Whether to use a GitHub Enterprise API style URL'
|
37
|
+
|
38
|
+
needs :git
|
39
|
+
|
40
|
+
msgs login: 'Authenticated as %s',
|
41
|
+
invalid_token: 'The provided GitHub token is invalid (error: %s)',
|
42
|
+
insufficient_scopes: 'Dpl does not have permission to access %{url} using the provided GitHub token. Please make sure the token have the repo or public_repo scope.',
|
43
|
+
same_branch: 'Prevented from pushing to the same branch as the current build branch %{git_branch}. This is meant to prevent infinite build loops. If you do need to push back to the same branch enable `allow_same_branch` and take precautions to prevent infinite loops as needed, for example using conditional builds.',
|
44
|
+
setup_deploy_key: 'Moving deploy key %{deploy_key} to %{path}',
|
45
|
+
check_deploy_key: 'Checking deploy key',
|
46
|
+
setup: 'Source dir: %{src_dir}, branch: %{branch}, base branch: %{base_branch}',
|
47
|
+
git_clone: 'Cloning the branch %{branch} to %{work_dir}',
|
48
|
+
git_branch: 'Switching to branch %{branch}',
|
49
|
+
copy_files: 'Copying %{src_dir} contents to %{work_dir}',
|
50
|
+
git_config: 'Configuring git committer to be: %{name} <%{email}>',
|
51
|
+
git_push: 'Pushing to %{url} HEAD:%{branch}',
|
52
|
+
pr_exists: 'Pull request exists.',
|
53
|
+
pr_created: 'Pull request #%{number} created.',
|
54
|
+
stop: 'There are no changes to commit, stopping.'
|
55
|
+
|
56
|
+
cmds git_clone: 'git clone --quiet --branch="%{clone_branch}" "%{remote_url}" . > /dev/null 2>&1',
|
57
|
+
git_branch: 'git checkout -b "%{branch}"',
|
58
|
+
check_deploy_key: 'ssh -i %{key} -T git@github.com 2>&1 | grep successful > /dev/null',
|
59
|
+
copy_files: 'rsync -rl --exclude .git --delete "%{src_dir}/" .',
|
60
|
+
git_config_email: 'git config user.email %{quoted_email}',
|
61
|
+
git_config_name: 'git config user.name %{quoted_name}',
|
62
|
+
git_add: 'git add -A .',
|
63
|
+
git_commit_hook: 'cp %{path} .git/hooks/pre-commit',
|
64
|
+
git_commit: 'git commit %{git_commit_opts} -q %{git_commit_msg_opts}',
|
65
|
+
git_show: 'git show --stat-count=10 HEAD',
|
66
|
+
git_push: 'git push %{git_push_opts} --quiet "%{remote_url}" HEAD:"%{branch}" > /dev/null 2>&1'
|
67
|
+
|
68
|
+
errs copy_files: 'Failed to copy %{src_dir}.',
|
69
|
+
check_deploy_key: 'Failed to authenticate using the deploy key',
|
70
|
+
git_init: 'Failed to create new git repo',
|
71
|
+
git_push: 'Failed to push the build to %{url}:%{branch}'
|
72
|
+
|
73
|
+
def validate
|
74
|
+
error :same_branch if same_branch? && !allow_same_branch?
|
75
|
+
end
|
76
|
+
|
77
|
+
def setup
|
78
|
+
info :setup
|
79
|
+
info :git_config
|
80
|
+
end
|
81
|
+
|
82
|
+
def login
|
83
|
+
token? ? login_token : setup_deploy_key
|
84
|
+
end
|
85
|
+
|
86
|
+
def prepare
|
87
|
+
Dir.chdir(work_dir)
|
88
|
+
end
|
89
|
+
|
90
|
+
def deploy
|
91
|
+
git_clone
|
92
|
+
copy_files
|
93
|
+
return info :stop unless git_dirty?
|
94
|
+
push
|
95
|
+
pull_request if pull_request?
|
96
|
+
end
|
97
|
+
|
98
|
+
def push
|
99
|
+
git_config
|
100
|
+
git_commit
|
101
|
+
git_push
|
102
|
+
end
|
103
|
+
|
104
|
+
def pull_request
|
105
|
+
pr_exists? ? info(:pr_exists) : create_pr
|
106
|
+
end
|
107
|
+
|
108
|
+
private
|
109
|
+
|
110
|
+
def same_branch?
|
111
|
+
git_branch == branch
|
112
|
+
end
|
113
|
+
|
114
|
+
def login_token
|
115
|
+
return unless github?
|
116
|
+
info :login, user.login
|
117
|
+
error :insufficient_scopes unless sufficient_scopes?
|
118
|
+
rescue Octokit::Unauthorized => e
|
119
|
+
error :invalid_token, e.message
|
120
|
+
end
|
121
|
+
|
122
|
+
def setup_deploy_key
|
123
|
+
path = '~/.dpl/deploy_key'
|
124
|
+
info :setup_deploy_key, path: path
|
125
|
+
mv deploy_key, path
|
126
|
+
chmod 0600, path
|
127
|
+
setup_git_ssh path
|
128
|
+
shell :check_deploy_key, key: path
|
129
|
+
end
|
130
|
+
|
131
|
+
def git_clone
|
132
|
+
shell :git_clone, echo: false
|
133
|
+
shell :git_branch unless branch_exists?
|
134
|
+
end
|
135
|
+
|
136
|
+
def clone_branch
|
137
|
+
branch_exists? ? branch : base_branch
|
138
|
+
end
|
139
|
+
|
140
|
+
def copy_files
|
141
|
+
shell :copy_files
|
142
|
+
end
|
143
|
+
|
144
|
+
def git_config
|
145
|
+
shell :git_config_name, echo: false
|
146
|
+
shell :git_config_email, echo: false
|
147
|
+
end
|
148
|
+
|
149
|
+
def branch_exists?
|
150
|
+
git_ls_remote?(remote_url, branch)
|
151
|
+
end
|
152
|
+
|
153
|
+
def git_commit
|
154
|
+
shell :git_commit_hook, path: asset(:git, :detect_private_key).path, echo: false if deploy_key?
|
155
|
+
shell :git_add
|
156
|
+
shell :git_commit
|
157
|
+
shell :git_show
|
158
|
+
end
|
159
|
+
|
160
|
+
def git_push
|
161
|
+
shell :git_push, echo: false
|
162
|
+
end
|
163
|
+
|
164
|
+
def git_push_opts
|
165
|
+
'--force' if force?
|
166
|
+
end
|
167
|
+
|
168
|
+
def git_commit_opts
|
169
|
+
' --allow-empty' if allow_empty_commit?
|
170
|
+
end
|
171
|
+
|
172
|
+
def git_commit_msg_opts
|
173
|
+
msg = interpolate(commit_message, vars: vars)
|
174
|
+
msg.split("\n").reject(&:empty?).map { |msg| %(-m #{quote(msg)}) }
|
175
|
+
end
|
176
|
+
|
177
|
+
def name
|
178
|
+
str = super if name?
|
179
|
+
str ||= user_name
|
180
|
+
str = "#{str} (via Travis CI)" if ENV['TRAVIS'] && !name?
|
181
|
+
str
|
182
|
+
end
|
183
|
+
memoize :name
|
184
|
+
|
185
|
+
def email
|
186
|
+
str = super if email?
|
187
|
+
str || user_email
|
188
|
+
end
|
189
|
+
memoize :email
|
190
|
+
|
191
|
+
def project_name
|
192
|
+
super || repo_slug
|
193
|
+
end
|
194
|
+
|
195
|
+
def remote_url
|
196
|
+
token? ? https_url_with_token : git_url
|
197
|
+
end
|
198
|
+
|
199
|
+
def https_url_with_token
|
200
|
+
"https://#{token}@#{url}"
|
201
|
+
end
|
202
|
+
|
203
|
+
def git_url
|
204
|
+
"git@#{host}:#{slug}.git"
|
205
|
+
end
|
206
|
+
|
207
|
+
def url
|
208
|
+
"#{host}/#{slug}.git"
|
209
|
+
end
|
210
|
+
|
211
|
+
def slug
|
212
|
+
repo || repo_slug
|
213
|
+
end
|
214
|
+
|
215
|
+
def src_dir
|
216
|
+
@src_dir ||= expand(local_dir)
|
217
|
+
end
|
218
|
+
|
219
|
+
def work_dir
|
220
|
+
@work_dir ||= tmp_dir
|
221
|
+
end
|
222
|
+
|
223
|
+
def sufficient_scopes?
|
224
|
+
scopes.include?('public_repo') || scopes.include?('repo')
|
225
|
+
end
|
226
|
+
|
227
|
+
def user
|
228
|
+
@user ||= github.user
|
229
|
+
end
|
230
|
+
|
231
|
+
def user_name
|
232
|
+
user.name || user.login
|
233
|
+
end
|
234
|
+
|
235
|
+
def user_email
|
236
|
+
user.email
|
237
|
+
end
|
238
|
+
|
239
|
+
def scopes
|
240
|
+
@scopes ||= github.scopes
|
241
|
+
end
|
242
|
+
|
243
|
+
def pr_exists?
|
244
|
+
!!github.pulls(repo).detect { |pull| pull.head.ref == branch }
|
245
|
+
end
|
246
|
+
|
247
|
+
def create_pr
|
248
|
+
pr = github.create_pull_request(repo, base_branch, branch, "Update #{base_branch}")
|
249
|
+
info :pr_created, number: pr.number
|
250
|
+
end
|
251
|
+
|
252
|
+
def github?
|
253
|
+
host.include?('github') || enterprise?
|
254
|
+
end
|
255
|
+
|
256
|
+
def github
|
257
|
+
@github ||= Octokit::Client.new(access_token: token, api_endpoint: api_url, auto_paginate: true)
|
258
|
+
end
|
259
|
+
|
260
|
+
def api_url
|
261
|
+
enterprise? ? "https://#{host}/api/v3/" : 'https://api.github.com/'
|
262
|
+
end
|
263
|
+
|
264
|
+
def now
|
265
|
+
Time.now
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|
data/lib/dpl/providers/gleis.rb
CHANGED
data/lib/dpl/providers/lambda.rb
CHANGED
@@ -32,7 +32,7 @@ module Dpl
|
|
32
32
|
opt '--subnet_ids IDS', 'List of subnet IDs to be added to the function', type: :array, note: 'Needs the ec2:DescribeSubnets and ec2:DescribeVpcs permission for the user of the access/secret key to work'
|
33
33
|
opt '--security_group_ids IDS', 'List of security group IDs to be added to the function', type: :array, note: 'Needs the ec2:DescribeSecurityGroups and ec2:DescribeVpcs permission for the user of the access/secret key to work'
|
34
34
|
opt '--environment VARS', 'List of Environment Variables to add to the function', type: :array, format: /[\w\-]+=.+/, note: 'Can be encrypted for added security', alias: :environment_variables
|
35
|
-
opt '--runtime NAME', 'Lambda runtime to use', note: 'required when creating a new function', default: '
|
35
|
+
opt '--runtime NAME', 'Lambda runtime to use', note: 'required when creating a new function', default: 'nodejs10.x', enum: %w(nodejs12.x nodejs10.x python3.8 python3.7 python3.6 python2.7 ruby2.7 ruby2.5 java11 java8 go1.x dotnetcore2.1)
|
36
36
|
opt '--dead_letter_arn ARN', 'ARN to an SNS or SQS resource used for the dead letter queue.'
|
37
37
|
opt '--kms_key_arn ARN', 'KMS key ARN to use to encrypt environment_variables.'
|
38
38
|
opt '--tracing_mode MODE', 'Tracing mode', default: 'PassThrough', enum: %w(Active PassThrough), note: 'Needs xray:PutTraceSegments xray:PutTelemetryRecords on the role'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Dpl
|
2
|
+
module Providers
|
3
|
+
class Nuget < Provider
|
4
|
+
status :alpha
|
5
|
+
|
6
|
+
full_name 'nuget'
|
7
|
+
|
8
|
+
description sq(<<-str)
|
9
|
+
tbd
|
10
|
+
str
|
11
|
+
|
12
|
+
env :nuget, :dotnet
|
13
|
+
|
14
|
+
opt '--api_key KEY', 'NuGet registry API key', required: true, secret: true, note: 'can be retrieved from your NuGet registry provider', see: 'https://docs.npmjs.com/creating-and-viewing-authentication-tokens'
|
15
|
+
opt '--registry URL', 'NuGet registry url', required: true, eg: 'https://www.myget.org/F/org-name/api/v2/package'
|
16
|
+
opt '--src SRC', 'The nupkg file(s) to publish', default: '*.nupkg'
|
17
|
+
opt '--no_symbols', 'Do not push symbols, even if present'
|
18
|
+
opt '--skip_duplicate', 'Do not overwrite existing packages'
|
19
|
+
|
20
|
+
msgs login: 'Authenticating with API key %{api_key}',
|
21
|
+
push: 'Pushing package %{src} to %{registry}'
|
22
|
+
|
23
|
+
cmds push: 'dotnet nuget push %{src} -k %{api_key} -s %{registry} %{push_opts}'
|
24
|
+
|
25
|
+
errs push: 'Failed to push'
|
26
|
+
|
27
|
+
def deploy
|
28
|
+
info :login
|
29
|
+
shell :push
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def push_opts
|
35
|
+
opts_for(%i(no_symbols skip_duplicate), dashed: true)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -31,7 +31,7 @@ module Dpl
|
|
31
31
|
opt '--file_glob', 'Interpret files as globs', default: true
|
32
32
|
opt '--overwrite', 'Overwrite files with the same name'
|
33
33
|
opt '--prerelease', 'Identify the release as a prerelease'
|
34
|
-
opt '--release_number NUM', 'Release number (
|
34
|
+
opt '--release_number NUM', 'Release number (override automatic release detection)'
|
35
35
|
opt '--release_notes STR', 'Content for the release notes', alias: :body
|
36
36
|
opt '--release_notes_file PATH', 'Path to a file containing the release notes', note: 'will be ignored if --release_notes is given'
|
37
37
|
opt '--draft', 'Identify the release as a draft'
|
data/lib/dpl/providers/snap.rb
CHANGED
data/lib/dpl/version.rb
CHANGED
data/status.json
CHANGED
@@ -16,8 +16,8 @@
|
|
16
16
|
},
|
17
17
|
{
|
18
18
|
"name": "bluemixcloudfoundry",
|
19
|
-
"status": "
|
20
|
-
"date": "2020-
|
19
|
+
"status": "stable",
|
20
|
+
"date": "2020-03-14"
|
21
21
|
},
|
22
22
|
{
|
23
23
|
"name": "boxfuse",
|
@@ -56,8 +56,8 @@
|
|
56
56
|
},
|
57
57
|
{
|
58
58
|
"name": "codedeploy",
|
59
|
-
"status": "
|
60
|
-
"date": "2020-
|
59
|
+
"status": "stable",
|
60
|
+
"date": "2020-02-21"
|
61
61
|
},
|
62
62
|
{
|
63
63
|
"name": "convox",
|
@@ -99,6 +99,11 @@
|
|
99
99
|
"status": "stable",
|
100
100
|
"date": "2019-10-28"
|
101
101
|
},
|
102
|
+
{
|
103
|
+
"name": "git_push",
|
104
|
+
"status": "dev",
|
105
|
+
"date": "2020-02-17"
|
106
|
+
},
|
102
107
|
{
|
103
108
|
"name": "gleis",
|
104
109
|
"status": "alpha",
|
@@ -144,6 +149,11 @@
|
|
144
149
|
"status": "stable",
|
145
150
|
"date": "2019-11-04"
|
146
151
|
},
|
152
|
+
{
|
153
|
+
"name": "nuget",
|
154
|
+
"status": "alpha",
|
155
|
+
"date": "2020-03-03"
|
156
|
+
},
|
147
157
|
{
|
148
158
|
"name": "openshift",
|
149
159
|
"status": "stable",
|
@@ -206,8 +216,8 @@
|
|
206
216
|
},
|
207
217
|
{
|
208
218
|
"name": "snap",
|
209
|
-
"status": "
|
210
|
-
"date": "2020-
|
219
|
+
"status": "stable",
|
220
|
+
"date": "2020-02-20"
|
211
221
|
},
|
212
222
|
{
|
213
223
|
"name": "surge",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dpl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.beta.
|
4
|
+
version: 2.0.0.beta.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Haase
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-05-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cl
|
@@ -62,7 +62,6 @@ files:
|
|
62
62
|
- Rakefile
|
63
63
|
- bin/dpl
|
64
64
|
- config/transliterate.yml
|
65
|
-
- dpl-chef_supermarket-1.10.14.gem
|
66
65
|
- dpl.gemspec
|
67
66
|
- lib/dpl.rb
|
68
67
|
- lib/dpl/assets/atlas/install
|
@@ -113,6 +112,7 @@ files:
|
|
113
112
|
- lib/dpl/providers/flynn.rb
|
114
113
|
- lib/dpl/providers/gae.rb
|
115
114
|
- lib/dpl/providers/gcs.rb
|
115
|
+
- lib/dpl/providers/git_push.rb
|
116
116
|
- lib/dpl/providers/gleis.rb
|
117
117
|
- lib/dpl/providers/hackage.rb
|
118
118
|
- lib/dpl/providers/hephy.rb
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- lib/dpl/providers/launchpad.rb
|
124
124
|
- lib/dpl/providers/netlify.rb
|
125
125
|
- lib/dpl/providers/npm.rb
|
126
|
+
- lib/dpl/providers/nuget.rb
|
126
127
|
- lib/dpl/providers/openshift.rb
|
127
128
|
- lib/dpl/providers/opsworks.rb
|
128
129
|
- lib/dpl/providers/packagecloud.rb
|
@@ -165,7 +166,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
166
|
- !ruby/object:Gem::Version
|
166
167
|
version: 1.3.1
|
167
168
|
requirements: []
|
168
|
-
|
169
|
+
rubyforge_project:
|
170
|
+
rubygems_version: 2.6.11
|
169
171
|
signing_key:
|
170
172
|
specification_version: 4
|
171
173
|
summary: Dpl runs deployments at Travis CI
|
Binary file
|