docker-construct 0.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0e8b9425fac3339caeaca692d1e8553f0ce225d0
4
+ data.tar.gz: 96789d27b7ee48c5bf30c63fb6ccc5fc26968afc
5
+ SHA512:
6
+ metadata.gz: 29394d3ba9d22bec38398605bc67416bc296bd6e52df0cdce81d3576667ba11eafb713cd852fbcd2f89a27ef0c7fc96236c5609d9cf98005fbd504d9f5a1876c
7
+ data.tar.gz: fa80e9791ce08feec29547fb174287bcd0cb86db74f364917bf1caf55713030521a48de3fc85388cab5fcf689d4e78d73bd8b58ce717a766bb647e623ac4c919
data/.bundle/config ADDED
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_BIN: bin
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ *.gem
2
+ *.sw?
3
+ Gemfile.lock
data/.semver ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 0
4
+ :patch: 1
5
+ :special: ''
6
+ :metadata: ''
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake'
7
+ gem 'semver2'
8
+ gem 'term-ansicolor', '~> 1.3'
9
+ gem 'rake'
10
+ gem 'rake-n-bake'
11
+ end
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ DockerConstruct
2
+ ===============
3
+
4
+ Rake tasks to build docker images
5
+ ---------------------------------
6
+
7
+
8
+ Installation
9
+ ------------
10
+ Either:
11
+ - Add `gem "docker-construct"` to your Gemfile and run bundle install.
12
+
13
+ or
14
+
15
+ - Run `gem install docker-construct`
16
+
17
+ Usage
18
+ -----
19
+ 1. Add `require "docker-construct"` to your Rakefile
20
+ 2. Call the tasks that you want, just as with your usual Rake tasks (examples below!).
21
+
22
+
23
+ Contributing
24
+ ------------
25
+ 1. Make a fork
26
+ 2. Make your changes!
27
+ 3. Push your changes to your fork
28
+ 4. Create a Pull Request
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ require 'rake/clean'
2
+ require 'rake-n-bake'
3
+ require './lib/docker-construct'
4
+
5
+ @external_dependencies = %w[ruby rake]
6
+
7
+ task :default => [
8
+ :clean,
9
+ :"bake:check_external_dependencies",
10
+ :"bake:code_quality:all",
11
+ :"bake:ok_rainbow",
12
+ ]
data/bin/bundler ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'bundler' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('bundler', 'bundler')
data/bin/cdiff ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'cdiff' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('term-ansicolor', 'cdiff')
data/bin/colortab ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'colortab' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('term-ansicolor', 'colortab')
data/bin/decolor ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'decolor' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('term-ansicolor', 'decolor')
data/bin/rake ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'rake' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('rake', 'rake')
data/bin/semver ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'semver' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('semver2', 'semver')
data/bin/term_display ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'term_display' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('term-ansicolor', 'term_display')
data/bin/term_mandel ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'term_mandel' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('term-ansicolor', 'term_mandel')
@@ -0,0 +1,19 @@
1
+ # coding: utf-8
2
+ require File.expand_path('../lib/version', __FILE__)
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "docker-construct"
8
+ spec.version = DockerConstruct::VERSION
9
+ spec.authors = ["Richard Vickerstaff"]
10
+ spec.email = ["m3akq@btinternet.com"]
11
+ spec.description = ""
12
+ spec.summary = ""
13
+ spec.homepage = "https://github.com/RichardVickerstaff/docker-build"
14
+ spec.license = "MIT"
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.require_paths = ["lib","tasks"]
17
+
18
+ spec.add_runtime_dependency "rake", "~> 10"
19
+ end
data/history.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ == v0.0.1 (31 July 2015)
2
+
3
+ * Create project
@@ -0,0 +1,6 @@
1
+ $:.unshift File.dirname(__FILE__)
2
+
3
+ require 'rake'
4
+
5
+ dir = File.expand_path("../tasks", File.dirname(__FILE__))
6
+ Dir.glob("#{dir}/*.rake").each { |r| import r}
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module DockerConstruct
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,49 @@
1
+ namespace :"docker" do
2
+
3
+ def image_name file
4
+ file.sub('Dockerfile.','')
5
+ end
6
+
7
+ def tag
8
+ tag = `git reflog --decorate -1`.match(/tag: (?<tag>.*?),/)
9
+ tag.nil? ? "latest" : tag[:tag]
10
+ end
11
+
12
+ def docker_repo
13
+ "#{@docker_repo}/"
14
+ end
15
+
16
+ def run_before_hooks file
17
+ File.open(file, 'r') {|f| @file = f.read }
18
+
19
+ hooks = @file.scan(/^##=\s?(.*)/)
20
+ hooks.each do |hook|
21
+ sh hook.first
22
+ end
23
+ end
24
+
25
+ files = Dir["Dockerfile*"]
26
+ task :build => files.map { |file| "docker:build:#{image_name file}"}
27
+ task :push => files.map { |file| "docker:push:#{image_name file}"}
28
+
29
+ namespace :build do
30
+ files.each do |file|
31
+ desc "Build #{file}"
32
+ task image_name(file).to_sym do
33
+ run_before_hooks file
34
+ sh "ln -snf #{file} Dockerfile"
35
+ sh "docker build -t '#{docker_repo}#{image_name file}:#{tag}' ."
36
+ sh "rm -f Dockerfile"
37
+ end
38
+ end
39
+ end
40
+
41
+ namespace :push do
42
+ files.each do |file|
43
+ desc "Push #{file}"
44
+ task image_name(file).to_sym do
45
+ sh "docker push '#{docker_repo}#{image_name file}:#{tag}'"
46
+ end
47
+ end
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,78 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: docker-construct
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Richard Vickerstaff
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10'
27
+ description: ''
28
+ email:
29
+ - m3akq@btinternet.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".bundle/config"
35
+ - ".gitignore"
36
+ - ".semver"
37
+ - Gemfile
38
+ - README.md
39
+ - Rakefile
40
+ - bin/bundler
41
+ - bin/cdiff
42
+ - bin/colortab
43
+ - bin/decolor
44
+ - bin/rake
45
+ - bin/semver
46
+ - bin/term_display
47
+ - bin/term_mandel
48
+ - docker-construct.gemspec
49
+ - history.rdoc
50
+ - lib/docker-construct.rb
51
+ - lib/version.rb
52
+ - tasks/docker-construct.rake
53
+ homepage: https://github.com/RichardVickerstaff/docker-build
54
+ licenses:
55
+ - MIT
56
+ metadata: {}
57
+ post_install_message:
58
+ rdoc_options: []
59
+ require_paths:
60
+ - lib
61
+ - tasks
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ requirements: []
73
+ rubyforge_project:
74
+ rubygems_version: 2.4.5
75
+ signing_key:
76
+ specification_version: 4
77
+ summary: ''
78
+ test_files: []