gz_release 0.0.9 → 0.0.12
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 +5 -13
- data/README.md +67 -1
- data/lib/gz_release.rb +0 -3
- data/lib/gz_release/tasks.rb +5 -2
- data/lib/gz_release/version.rb +1 -1
- metadata +11 -12
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZTUwYTYwOGIzZTZlNDFkYzAzN2UzZGRmODBlMmE2ZmY0YzU4ZmFmNg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9bbc82adef3d8c1c27ab5a9be6929da282f5b597
|
4
|
+
data.tar.gz: da8f59523e55deaa777a9c63193f69d66ca18539
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YjAzYWJjNDg1NTQ5OTUzZDZkNmRkNzk3MDQ0YjI4ZTM4OTc0NmUwMDliYjVj
|
11
|
-
MDcwOTUyOGJkMDAwYjVlZmExNzI1NTdmZTFjOWMxNDViNDg0NzM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MDEyY2M2YWM2OWNmODIzYjlhZmQ2MmM4YTU4NzA0NGZiOTQxNmM1NmMxMDdi
|
14
|
-
NGNhMzNlZWNmNTM1NzFhODIyNjg2NTcwNzk0NGFjYjlmMjM3M2VkNDEzODRm
|
15
|
-
Y2Y3ZDVlZTY5MWRiMTdkZDY0M2Q1MmRhN2E1MDY1YTQ3MTk1NjE=
|
6
|
+
metadata.gz: 8579026090136e2a4f7423615f8659c527fd0039ecf6f5a2443ab346676d3e3833a46edd301aa61fcfed997b620261f739feb40c903a443fb23fc6d6cd866449
|
7
|
+
data.tar.gz: a680fc1e62e1627d1bfb55fa6f136754203eeef89e63d2d8a5e5b2ea08a2f2e488b5ebf9c64b0aaae4a19c830881dfbc690cd1f1d11cf2d3114824dca7d3943f
|
data/README.md
CHANGED
@@ -20,7 +20,73 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
|
23
|
+
### Rakefile
|
24
|
+
|
25
|
+
Add the following to your `Rakefile`:
|
26
|
+
|
27
|
+
``` ruby
|
28
|
+
require 'gz_release'
|
29
|
+
|
30
|
+
GzRelease::Tasks.install(
|
31
|
+
image_name: 'gazelle/<PROJECT_NAME>'
|
32
|
+
)
|
33
|
+
```
|
34
|
+
|
35
|
+
This gives you a bunch of rake tasks:
|
36
|
+
|
37
|
+
```
|
38
|
+
rake release:build # Builds the docker image from generated Dockerfile
|
39
|
+
rake release:dump # Dumps docker cache into ~/.docker/image.tar
|
40
|
+
rake release:load # Loads ~/.docker/image.tar into docker cache
|
41
|
+
rake release:pull # Pulls latest version of the image from dockerhub
|
42
|
+
rake release:push:branch # Pushes docker image tagged as current git branch
|
43
|
+
rake release:push:latest # Pushes docker image tagged as latest
|
44
|
+
rake release:push:release # Pushes docker image tagged as release
|
45
|
+
rake release:push:timestamp # Pushes docker image and git tag tagged by the timestamp
|
46
|
+
rake release:push:version # Pushes docker image tagged as version specified in Rakefile
|
47
|
+
rake release:tag:branch # Creates a tag for the branch for the docker image
|
48
|
+
rake release:tag:latest # Creates latest tag for the docker image
|
49
|
+
rake release:tag:release # Creates release tag for the docker image
|
50
|
+
rake release:tag:timestamp # Creates timestamp tag for the docker image and git repo
|
51
|
+
rake release:tag:version # Creates a tag for version specified in Rakefile for docker image
|
52
|
+
```
|
53
|
+
|
54
|
+
### Environment variables
|
55
|
+
|
56
|
+
The following evironment variables are required for pushing to a docker repository: `DOCKER_USER`, `DOCKER_EMAIL`, `DOCKER_PASSWORD`. They are the same values you provide when doing `docker login`. It's best to use an organization account for these values on CircleCI.
|
57
|
+
|
58
|
+
Optionally, you can also set `DOCKER_REPOSITORY` (e.g. tutum.co), which will cause the image to be tagged for and pushed to that repository.
|
59
|
+
|
60
|
+
### Building on CircleCI
|
61
|
+
|
62
|
+
Create the environment variables for your project listed above on CircleCI. You can then have CircleCI build the docker image by creating a `circle.yml` including the following:
|
63
|
+
|
64
|
+
``` yaml
|
65
|
+
machine:
|
66
|
+
services:
|
67
|
+
- docker
|
68
|
+
checkout:
|
69
|
+
pre:
|
70
|
+
- git config --global user.email "circleci@gazelle.com"
|
71
|
+
- git config --global user.name "Gazelle CircleCI Bot"
|
72
|
+
deployment:
|
73
|
+
all:
|
74
|
+
branch: /^(?!(master|dev)).*$/
|
75
|
+
commands:
|
76
|
+
- bundle exec rake release:build
|
77
|
+
- bundle exec rake release:push:branch
|
78
|
+
master:
|
79
|
+
branch: master
|
80
|
+
commands:
|
81
|
+
- bundle exec rake release:build
|
82
|
+
- bundle exec rake release:push:timestamp
|
83
|
+
- bundle exec rake release:push:release
|
84
|
+
dev:
|
85
|
+
branch: dev
|
86
|
+
commands:
|
87
|
+
- bundle exec rake release:build
|
88
|
+
- bundle exec rake release:push:latest
|
89
|
+
```
|
24
90
|
|
25
91
|
## Contributing
|
26
92
|
|
data/lib/gz_release.rb
CHANGED
data/lib/gz_release/tasks.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
require 'English'
|
2
|
+
require 'rake'
|
3
|
+
|
1
4
|
module GzRelease
|
2
5
|
# Rake tasks for building a docker image
|
3
6
|
class Tasks
|
4
|
-
include Rake::DSL
|
7
|
+
include Rake::DSL
|
5
8
|
|
6
9
|
DOCKERFILE_PATH = File.expand_path('./Dockerfile')
|
7
10
|
DOCKER_CACHE_PATH = File.expand_path('~/.docker')
|
@@ -176,7 +179,7 @@ module GzRelease
|
|
176
179
|
end
|
177
180
|
|
178
181
|
def branch
|
179
|
-
@branch ||= ENV['CIRCLE_BRANCH'] ? ENV['CIRCLE_BRANCH'] : `git rev-parse --abbrev-ref HEAD
|
182
|
+
@branch ||= (ENV['CIRCLE_BRANCH'] ? ENV['CIRCLE_BRANCH'] : `git rev-parse --abbrev-ref HEAD`).strip.gsub(/\//,'_')
|
180
183
|
end
|
181
184
|
|
182
185
|
# Version
|
data/lib/gz_release/version.rb
CHANGED
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gz_release
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Allen Madsen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.7'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
description: Tasks for building docker images on a CI
|
@@ -45,8 +45,8 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
-
- .gitignore
|
49
|
-
- .rubocop.yml
|
48
|
+
- ".gitignore"
|
49
|
+
- ".rubocop.yml"
|
50
50
|
- Gemfile
|
51
51
|
- LICENSE.txt
|
52
52
|
- README.md
|
@@ -66,19 +66,18 @@ require_paths:
|
|
66
66
|
- lib
|
67
67
|
required_ruby_version: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- -
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: '0'
|
72
72
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
requirements: []
|
78
78
|
rubyforge_project:
|
79
|
-
rubygems_version: 2.4.5
|
79
|
+
rubygems_version: 2.4.5.1
|
80
80
|
signing_key:
|
81
81
|
specification_version: 4
|
82
82
|
summary: Tasks for building docker images on a CI
|
83
83
|
test_files: []
|
84
|
-
has_rdoc:
|