minke 1.13.7 → 1.13.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a7fab1bea1996f6449940a84db6dfd74aaef1e04
4
- data.tar.gz: c48baae7fbfe3136dc5540fd1d4061502ab36de9
3
+ metadata.gz: ec16a6f8bb966d59cb0305eb6abc45e93b31939a
4
+ data.tar.gz: 960268cd2550e92d486b51017a11c61c01e7d174
5
5
  SHA512:
6
- metadata.gz: 6227e15e13b0bec5995fd4a85a108ed4118a179b1942f9eef535bd67f7d28a2326a51c2f65621155ab8e4edb5a9b3700aa62472491a2c3724c75d153d6026505
7
- data.tar.gz: 7d8515a130fbe4bfbcb3c06376817651e0b0bb7052817033360e3b7a0ab9306ac4c433fe5f33fb119b295d49464236d6bb7b8501db3642998b2ad83799aca658
6
+ metadata.gz: f72fe2a479b1298b9365ed4f6f6dc7d6af2e17f4e305122a3b99d44d77b64a67b7f8285682a878de40c768b86287ca26046d0d9fada2f72f0a76921e47c2367c
7
+ data.tar.gz: 763efb3149550d65dce85329d5a825d8bb8eb48f8514796d1bceaf41bbfc2b2f5f8d5be12b1deaca64b6864a7349087a51cbba19ac28d06090e9c6b1dff0f568
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  .DS_Store
11
11
  /_site
12
+ /**/*.swp
data/.travis.yml CHANGED
@@ -30,7 +30,7 @@ after_deploy:
30
30
  docker build -t nicholasjackson/minke --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`git rev-parse --short HEAD` .;
31
31
  docker login -e="$DOCKER_EMAIL" -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
32
32
  docker push nicholasjackson/minke:latest;
33
- docker tag nicholasjackson/minke nicholasjackson/minke:1.13.7;
34
- docker push nicholasjackson/minke:1.13.7;
33
+ docker tag nicholasjackson/minke nicholasjackson/minke:1.13.8;
34
+ docker push nicholasjackson/minke:1.13.8;
35
35
  curl https://hooks.microbadger.com/images/nicholasjackson/minke/tkpohfdrYPE0B0TL5NzLcOap4k0=;
36
36
  fi
data/bin/minke CHANGED
@@ -79,6 +79,8 @@ subcommands = {
79
79
 
80
80
  global.order!
81
81
  command = ARGV.shift
82
+ subcommands[command].order!
83
+
82
84
 
83
85
  def load_config config_file, verbose
84
86
  reader = Minke::Config::Reader.new Minke::Logging.create_logger(verbose)
@@ -159,4 +161,4 @@ when "generate"
159
161
  doGenerate(options)
160
162
  when "encrypt"
161
163
  doEncrypt(options)
162
- end
164
+ end
data/docker/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM debian:stable
1
+ FROM ruby:latest
2
2
 
3
3
  ENV COMPOSE_VERSION 1.7.1
4
4
  ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
@@ -25,14 +25,22 @@ RUN echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/
25
25
  RUN apt-get update
26
26
  RUN apt-get -y install docker-engine=1.10.3-0~jessie
27
27
 
28
- RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 && curl -L get.rvm.io | bash -s stable --ruby=2.3.1 --with-gems="bundle"
29
-
30
28
  RUN curl -o /usr/local/bin/docker-compose -L \
31
29
  "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-Linux-x86_64" \
32
30
  && chmod +x /usr/local/bin/docker-compose
33
31
 
34
- COPY .bashrc /root/.bashrc
35
-
36
32
  COPY Gemfile Gemfile
33
+ COPY entrypoint.sh /
34
+ RUN chmod +x /entrypoint.sh
35
+
36
+ RUN bundle install
37
+
38
+ RUN ls -las /usr/local/bundle/gems
39
+
40
+ RUN mkdir /usr/local/backup
41
+
42
+ RUN cp -R /usr/local/bundle/* /usr/local/backup
43
+
44
+ ENTRYPOINT ["/entrypoint.sh"]
37
45
 
38
- RUN /bin/bash -c "source /usr/local/rvm/scripts/rvm && rvm @global do bundle install"
46
+ CMD ["--help"]
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env bash
2
+
3
+ INSTALL="echo \"#Copying cache\" && cp -r /usr/local/backup/* /usr/local/bundle/ && gem install bundler && bundle install"
4
+ COMMAND="bundle exec minke $@"
5
+
6
+ if [[ $1 != \generate* ]]; then
7
+ if [ "$(ls -A ./vendor)" ]; then
8
+ eval $COMMAND
9
+ else
10
+ eval "$INSTALL && $COMMAND"
11
+ fi
12
+ fi
13
+
14
+ if [[ $1 = \generate* ]]; then
15
+ eval $COMMAND
16
+ fi
data/lib/minke.rb CHANGED
@@ -19,6 +19,7 @@ require 'open3'
19
19
 
20
20
  require 'minke/version'
21
21
  require 'minke/command'
22
+ require 'minke/logger'
22
23
 
23
24
  require 'minke/helpers/copy'
24
25
  require 'minke/helpers/rake'
@@ -54,35 +55,3 @@ require 'minke/generators/shell_script'
54
55
 
55
56
  require 'minke/encryption/encryption'
56
57
  require 'minke/encryption/key_locator'
57
-
58
- module Minke
59
- class Logging
60
- @@debug = false
61
- @@ret = "\n"
62
-
63
- def self.create_logger verbose = false
64
- Logger.new(STDOUT).tap do |l|
65
- l.datetime_format = ''
66
- l.formatter = proc do |severity, datetime, progname, msg|
67
- case severity
68
- when 'ERROR'
69
- s = "#{@@ret if @@debug}#{'ERROR'.colorize(:red)}: #{msg.chomp('')}\n"
70
- @@debug = false
71
- s
72
- when 'INFO'
73
- s = "#{@@ret if @@debug}#{'INFO'.colorize(:green)}: #{msg.chomp('')}\n"
74
- @@debug = false
75
- s
76
- when 'DEBUG'
77
- if verbose == true
78
- "#{'DEBUG'.colorize(:yellow)}: #{msg.chomp('')}\n"
79
- else
80
- @@debug = true
81
- "#{'.'.colorize(:yellow)}"
82
- end
83
- end
84
- end
85
- end
86
- end
87
- end
88
- end
@@ -11,7 +11,7 @@ module Minke
11
11
  end
12
12
 
13
13
  def remove
14
- @shell_runner.execute("docker network rm #{@network_name}") unless find_network.to_s == ''
14
+ @shell_runner.execute("docker network rm #{@network_name}", true) unless find_network.to_s == ''
15
15
  end
16
16
 
17
17
  private
@@ -20,4 +20,4 @@ module Minke
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -7,7 +7,7 @@ module Minke
7
7
 
8
8
  ##
9
9
  # Executes a shell command and returns the return status
10
- def execute command
10
+ def execute command, ignore_error=false
11
11
  @logger.debug command
12
12
 
13
13
  Open3.popen2e(command) do |stdin, stdout_err, wait_thr|
@@ -16,7 +16,7 @@ module Minke
16
16
  end
17
17
 
18
18
  exit_status = wait_thr.value
19
- unless exit_status.success?
19
+ unless exit_status.success? || ignore_error == true
20
20
  raise "Error executing command: #{command}"
21
21
  end
22
22
  end
@@ -48,4 +48,4 @@ module Minke
48
48
  end
49
49
  end
50
50
  end
51
- end
51
+ end
@@ -0,0 +1,31 @@
1
+ module Minke
2
+ class Logging
3
+ @@debug = false
4
+ @@ret = "\n"
5
+
6
+ def self.create_logger verbose = false
7
+ Logger.new(STDOUT).tap do |l|
8
+ l.datetime_format = ''
9
+ l.formatter = proc do |severity, datetime, progname, msg|
10
+ case severity
11
+ when 'ERROR'
12
+ s = "#{@@ret if @@debug}#{'ERROR'.colorize(:red)}: #{msg.chomp('')}\n"
13
+ @@debug = false
14
+ s
15
+ when 'INFO'
16
+ s = "#{@@ret if @@debug}#{'INFO'.colorize(:green)}: #{msg.chomp('')}\n"
17
+ @@debug = false
18
+ s
19
+ when 'DEBUG'
20
+ if verbose == true
21
+ "#{'DEBUG'.colorize(:yellow)}: #{msg.chomp('')}\n"
22
+ else
23
+ @@debug = true
24
+ "#{'.'.colorize(:yellow)}"
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,51 +1,42 @@
1
1
  #!/bin/bash
2
2
  MINKE_VERSION="1.13.7"
3
- ERROR="Please specify a command e.g. ./minke build"
4
3
 
5
4
  DOCKER_SOCK="/var/run/docker.sock:/var/run/docker.sock"
6
5
  NEW_UUID=$(base64 /dev/urandom | tr -d '/+' | head -c 32 | tr '[:upper:]' '[:lower:]')
7
6
 
8
- if [ -f .ruby-gemset ];then
9
- GEMSET=$(<.ruby-gemset)
10
- fi
11
-
12
- LEN=$(echo ${#GEMSET})
13
-
14
- if [ $LEN -lt 1 ]; then
15
- GEMSET='minkegems'
16
- fi
17
-
18
- GEMSETFOLDER="/usr/local/rvm/gems/ruby-2.3.1@${GEMSET}"
19
- RVM_COMMAND="source /usr/local/rvm/scripts/rvm && rvm gemset use ${GEMSET} --create"
20
- DOCKER_IMAGE="nicholasjackson/minke:${MINKE_VERSION}"
21
- COMMAND=""
22
-
23
-
24
- if [ "$1" == '' ]; then
25
- echo $ERROR;
26
- exit 1;
27
- fi
7
+ DOCKER_IMAGE="minketester"
28
8
 
29
9
  COMMAND=$*
30
10
 
11
+ GEM_VOLUMES=""
12
+
31
13
  # Test if interactive terminal and set the flag
32
14
  [[ -t 1 ]] && IT="-it" || IT=""
33
15
 
34
- if [[ $1 == \generate* ]]; then
35
- echo "Generating new template"
36
- DIR=${PWD}
37
- DOCKER_RUN="docker run --rm -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -v ${DIR}/_build/vendor/gems:${GEMSETFOLDER} -e DOCKER_NETWORK=minke_${NEW_UUID} -w ${DIR} ${DOCKER_IMAGE} /bin/bash -c '${RVM_COMMAND} && bundle install && minke ${COMMAND}'"
38
-
39
- eval "${DOCKER_RUN}"
40
- fi
41
-
42
16
  if [[ $1 != \generate* ]]; then
17
+
18
+ echo "Generate"
19
+
20
+ # Test if we need to mount any special volumes for paths specified in the Gemfile
21
+ while read -r line; do
22
+ l=$(echo $line | sed "s/.*:path *=> *//" | sed "s/['|\"]\(.*\)['|\"]/\1/")
23
+ GEM_VOLUMES="${GEM_VOLUMES} -v $l:$l"
24
+ done < <(grep :path Gemfile)
25
+
43
26
  DIR=$(dirname `pwd`)
44
- DOCKER_RUN="docker run --rm ${IT} --net=minke_${NEW_UUID} -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -v ${DIR}/_build/vendor/gems:${GEMSETFOLDER} -e DOCKER_NETWORK=minke_${NEW_UUID} -w ${DIR}/_build ${DOCKER_IMAGE} /bin/bash -c '${RVM_COMMAND} && minke ${COMMAND}'"
27
+ DOCKER_RUN="docker run --rm ${IT} --net=minke_${NEW_UUID} ${GEM_VOLUMES} -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -v ${DIR}/_build/vendor:/usr/local/bundle -e DOCKER_NETWORK=minke_${NEW_UUID} -w ${DIR}/_build ${DOCKER_IMAGE} ${COMMAND}"
45
28
 
46
- echo "Running command: ${COMMAND}"
29
+ echo "Running command: minke ${COMMAND}"
47
30
 
48
- eval "docker network create minke_${NEW_UUID}"
31
+ id=$(docker network create minke_${NEW_UUID})
32
+ #echo "${DOCKER_RUN}"
49
33
  eval "${DOCKER_RUN}"
50
- eval "docker network rm minke_${NEW_UUID}"
51
- fi
34
+ id=$(docker network rm minke_${NEW_UUID})
35
+ fi
36
+
37
+ if [[ $1 = \generate* ]]; then
38
+ DIR=$(pwd)
39
+ DOCKER_RUN="docker run --rm ${IT} -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -w ${DIR}/${DIR} ${DOCKER_IMAGE} ${COMMAND}"
40
+ echo $DOCKER_RUN
41
+ eval "$DOCKER_RUN"
42
+ fi
@@ -9,20 +9,9 @@ module Minke
9
9
 
10
10
  def run args = nil
11
11
  @logger.info '### Install gems'
12
- rvm = "#{ENV['HOME']}/.rvm/scripts/rvm"
13
- rvm_root = '/usr/local/rvm/scripts/rvm'
14
12
 
15
- rvm_installed = @shell_helper.exist?(rvm)
16
- rvm_root_installed = @shell_helper.exist?(rvm_root)
17
-
18
- gemset = @shell_helper.read_file '.ruby-gemset'
19
-
20
- @logger.info "Using gemset #{gemset}"
21
-
22
- rvm_command = "source #{rvm} && rvm gemset use #{gemset} --create && " if rvm_installed
23
- rvm_command = "source #{rvm_root} && rvm gemset use #{gemset} --create && " if rvm_root_installed
24
-
25
- @shell_helper.execute("/bin/bash -c '#{rvm_command}bundle install -j3 && bundle update'")
13
+ @shell_helper.execute('bundle install -j3')
14
+ @shell_helper.execute('bundle update')
26
15
  end
27
16
 
28
17
  end
data/lib/minke/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Minke
2
- VERSION = "1.13.7"
2
+ VERSION = "1.13.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minke
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.7
4
+ version: 1.13.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nic Jackson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-29 00:00:00.000000000 Z
11
+ date: 2016-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -232,6 +232,7 @@ files:
232
232
  - docker/.bashrc
233
233
  - docker/Dockerfile
234
234
  - docker/Gemfile
235
+ - docker/entrypoint.sh
235
236
  - examples/config_go.yml
236
237
  - examples/config_swift.yml
237
238
  - lib/minke.rb
@@ -255,6 +256,7 @@ files:
255
256
  - lib/minke/helpers/copy.rb
256
257
  - lib/minke/helpers/rake.rb
257
258
  - lib/minke/helpers/shell.rb
259
+ - lib/minke/logger.rb
258
260
  - lib/minke/scripts/minke
259
261
  - lib/minke/tasks/build.rb
260
262
  - lib/minke/tasks/build_image.rb