anvil-cli 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +86 -0
- data/lib/anvil/cli.rb +1 -1
- data/lib/anvil/version.rb +1 -1
- metadata +27 -18
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1d54b6c1487ec756d659f1879ec65ba9389fe7b1
|
4
|
+
data.tar.gz: 14aae44bb9dc69933222c6772f5f0bd75352838f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b18d73fac4a29e4011b9ee8642a609457f4f87e67e4bffb40b6c7e96182d06532cbaa3ff53c9d7f300320fc1bd213d3be8c2abeabec63bb37a4661c866967fdf
|
7
|
+
data.tar.gz: 67a3ef7f83b5f9f86f553b2d0a67d52634ae4072411e2f9dffb27337ad5d09d55f28ac3c812f0559aac883af0c1cd10fc655890e28780f35d0b50448c2c78dea
|
data/README.md
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
# anvil
|
2
|
+
|
3
|
+
Builds as a service.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
$ gem install anvil-cli
|
8
|
+
|
9
|
+
## Usage
|
10
|
+
|
11
|
+
#### Build an application from a local directory
|
12
|
+
|
13
|
+
$ anvil build .
|
14
|
+
Building ...
|
15
|
+
Success, slug is https://api.anvilworks.org/slugs/000.tgz
|
16
|
+
|
17
|
+
#### Build from a public-accessible git repository
|
18
|
+
|
19
|
+
$ anvil build https://github.com/ddollar/anvil.git
|
20
|
+
|
21
|
+
#### Specify a buildpack
|
22
|
+
|
23
|
+
# specify a buildpack url
|
24
|
+
$ anvil build https://github.com/ddollar/anvil.git -b https://github.com/heroku/heroku-buildpack-nodejs.git
|
25
|
+
|
26
|
+
# specify a buildpack from https://buildkits.heroku.com/
|
27
|
+
$ anvil build https://github.com/ddollar/anvil.git -b heroku/nodejs
|
28
|
+
|
29
|
+
#### Iterate on buildpacks without pushing to Github
|
30
|
+
|
31
|
+
# test a known app against the local buildpack code
|
32
|
+
$ anvil build https://github.com/me/mybuildpack-testapp -b ~/mybuildpack
|
33
|
+
|
34
|
+
# can also use a local app
|
35
|
+
$ anvil build ~/mybuildpack/test/app -b ~/mybuildpack
|
36
|
+
|
37
|
+
#### Build using a shell script from a URL
|
38
|
+
|
39
|
+
You can use this combination to host build scripts in gists. [Example](https://gist.github.com/ddollar/a2ceb7b9699f05303170)
|
40
|
+
|
41
|
+
$ anvil build \
|
42
|
+
http://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.2/squashfs4.2.tar.gz \
|
43
|
+
-b https://gist.github.com/ddollar/a2ceb7b9699f05303170/raw/build-squashfs.sh
|
44
|
+
|
45
|
+
#### Use the pipelining feature to build complex deploy workflows
|
46
|
+
|
47
|
+
This example requires the [heroku-anvil](https://github.com/ddollar/heroku-anvil) plugin.
|
48
|
+
|
49
|
+
#!/usr/bin/env bash
|
50
|
+
|
51
|
+
# fail fast
|
52
|
+
set -o errexit
|
53
|
+
set -o pipefail
|
54
|
+
|
55
|
+
# build a slug of the app
|
56
|
+
slug=$(anvil build https://github.com/my/project.git -p)
|
57
|
+
|
58
|
+
# release the slug to staging
|
59
|
+
heroku release $slug -a myapp-staging
|
60
|
+
|
61
|
+
# run tests using `heroku run`
|
62
|
+
heroku run bin/tests -a myapp-staging
|
63
|
+
|
64
|
+
# test that the app responds via http
|
65
|
+
curl https://myapp-staging.herokuapp.com/test
|
66
|
+
|
67
|
+
# release to production
|
68
|
+
heroku release $slug -a myapp-production
|
69
|
+
|
70
|
+
## Advanced Usage
|
71
|
+
|
72
|
+
#### anvil build
|
73
|
+
|
74
|
+
Usage: anvil build [SOURCE]
|
75
|
+
|
76
|
+
build software on an anvil build server
|
77
|
+
|
78
|
+
if SOURCE is a local directory, the contents of the directory will be built
|
79
|
+
if SOURCE is a git URL, the contents of the repo will be built
|
80
|
+
if SOURCE is a tarball URL, the contents of the tarball will be built
|
81
|
+
|
82
|
+
SOURCE will default to "."
|
83
|
+
|
84
|
+
-b, --buildpack URL # use a custom buildpack
|
85
|
+
-p, --pipeline # pipe build output to stderr and only put the slug url on stdout
|
86
|
+
-r, --release # release the slug to an app
|
data/lib/anvil/cli.rb
CHANGED
@@ -14,7 +14,7 @@ class Anvil::CLI < Thor
|
|
14
14
|
desc "build [SOURCE]", "Build an application"
|
15
15
|
|
16
16
|
method_option :buildpack, :type => :string, :aliases => "-b", :desc => "Use a specific buildpack"
|
17
|
-
method_option :pipeline, :type => :boolean, :aliases => "-p", :desc => "Pipe
|
17
|
+
method_option :pipeline, :type => :boolean, :aliases => "-p", :desc => "Pipe build output to stderr and put the slug url on stdout"
|
18
18
|
method_option :type, :type => :string, :aliases => "-t", :desc => "Build a specific slug type (tgz, deb)"
|
19
19
|
|
20
20
|
def build(source=nil)
|
data/lib/anvil/version.rb
CHANGED
metadata
CHANGED
@@ -1,49 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anvil-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
5
|
-
prerelease:
|
4
|
+
version: 0.15.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- David Dollar
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-04-21 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: progress
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 2.4.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.4.0
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rest-client
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - ~>
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: 1.6.7
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.7
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: thor
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
45
|
- - ~>
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: 0.15.2
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.15.2
|
47
55
|
description: Alternate Heroku build workflow
|
48
56
|
email: david@dollar.io
|
49
57
|
executables:
|
@@ -60,28 +68,29 @@ files:
|
|
60
68
|
- lib/anvil/okjson.rb
|
61
69
|
- lib/anvil/version.rb
|
62
70
|
- lib/anvil.rb
|
71
|
+
- README.md
|
63
72
|
homepage: http://github.com/ddollar/anvil-cli
|
64
73
|
licenses: []
|
74
|
+
metadata: {}
|
65
75
|
post_install_message:
|
66
76
|
rdoc_options: []
|
67
77
|
require_paths:
|
68
78
|
- lib
|
69
79
|
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
80
|
requirements:
|
72
|
-
- -
|
81
|
+
- - '>='
|
73
82
|
- !ruby/object:Gem::Version
|
74
83
|
version: '0'
|
75
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
85
|
requirements:
|
78
|
-
- -
|
86
|
+
- - '>='
|
79
87
|
- !ruby/object:Gem::Version
|
80
88
|
version: '0'
|
81
89
|
requirements: []
|
82
90
|
rubyforge_project:
|
83
|
-
rubygems_version:
|
91
|
+
rubygems_version: 2.0.0
|
84
92
|
signing_key:
|
85
|
-
specification_version:
|
93
|
+
specification_version: 4
|
86
94
|
summary: Alternate Heroku build workflow
|
87
95
|
test_files: []
|
96
|
+
has_rdoc:
|