dockerize-ruby 0.0.4 → 0.0.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
  SHA256:
3
- metadata.gz: 9a6a0c4df8f56e9c37d6ce2decc86000464f2d2e76f157a5fc34aefedd9916cd
4
- data.tar.gz: 28c13afc1900f855ba359bbc070c8ca45e7e174f04a19300f546f16fb189c921
3
+ metadata.gz: ee75657666bc8fb2cca248dc540e5cbd5760d1f555bc6fbe2baa3aa5004ded35
4
+ data.tar.gz: 128f5edd132d968af8a4f57a0d0084738f3d9f83d9a8ef4c8f3bb3c9ca2cd314
5
5
  SHA512:
6
- metadata.gz: a0ff4cdd76ab3581911e706bea53343046a5c0d83b417aea415ec7bead410277a6203b181caeb213b09204b74df8687e814bf910c1eea6a28c6c8e4849a7de53
7
- data.tar.gz: 987d555a81106b9b4b614ebd93f1e98d3f8316b587937ba7e1be87c77a3cbbc1e186375d8c3017d983e743bb979f180b6ad2ccbe666d81d54336df224597cc33
6
+ metadata.gz: 0f206ee9d816e18cff6f2b210e40c92ef9849d17f49036d574abf9a59f1c1d399c1fcae29f579418cdbccd56e9284110aba142367d7a968351cf8c3f0f4a951b
7
+ data.tar.gz: 441d8e1b664e8fcafd4fa847490c1fb6db19596061c8f81788e62b6da35adddcf17946c37e56a3785ff9980b38a3cc4798179e719fb644502e59c5e0e3560143
data/bin/dockerize-ruby CHANGED
@@ -6,6 +6,9 @@ require 'gli'
6
6
  class App
7
7
  extend GLI::App
8
8
 
9
+ subcommand_option_handling :normal
10
+ arguments :strict
11
+
9
12
  program_desc 'A simple docker generation file tool'
10
13
 
11
14
  desc 'Generates a docker-compose.yml'
@@ -16,9 +19,23 @@ class App
16
19
  end
17
20
 
18
21
  desc 'Generates a Dockerfile'
22
+ arg_name '<arg>...', %i(:multiple)
19
23
  command :dockerfile do |c|
24
+ c.desc 'Pass a bundler version argument'
25
+ c.flag :bundler_version, type: String
26
+
27
+ c.desc 'Pass a ruby version argument'
28
+ c.flag :ruby_version, type: String
29
+
30
+ c.action do |globals, options, args|
31
+ Dockerize.dockerfile options: options
32
+ end
33
+ end
34
+
35
+ desc 'Generates an entrypoint.sh'
36
+ command :entrypoint do |c|
20
37
  c.action do
21
- Dockerize.dockerfile
38
+ Dockerize.entrypoint
22
39
  end
23
40
  end
24
41
  end
@@ -1,12 +1,13 @@
1
1
  class Dockerize
2
- def self.dockerfile
2
+ def self.dockerfile(options: {})
3
3
  File.open("Dockerfile", 'w') do |file|
4
4
  file.write """# syntax=docker/dockerfile:1
5
- FROM ruby:2.5
5
+ FROM ruby:#{options[:ruby_version]}
6
6
  RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
7
7
  WORKDIR /myapp
8
8
  COPY Gemfile /myapp/Gemfile
9
9
  COPY Gemfile.lock /myapp/Gemfile.lock
10
+ RUN gem install bundler -v #{options[:bundler_version]}
10
11
  RUN bundle install
11
12
 
12
13
  # Add a script to be executed every time the container starts.
@@ -41,4 +42,17 @@ services:
41
42
  - db"""
42
43
  end
43
44
  end
45
+
46
+ def self.entrypoint
47
+ File.open("entrypoint.sh", 'w') do |file|
48
+ file.write """#!/bin/bash
49
+ set -e
50
+
51
+ # Remove a potentially pre-existing server.pid for Rails.
52
+ rm -f /myapp/tmp/pids/server.pid
53
+
54
+ # Then exec the container's main process (what's set as CMD in the Dockerfile).
55
+ exec \"$@\""""
56
+ end
57
+ end
44
58
  end
metadata CHANGED
@@ -1,52 +1,52 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockerize-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luilver Garces
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-04 00:00:00.000000000 Z
11
+ date: 2021-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rake
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
20
- type: :development
19
+ name: rake
21
20
  prerelease: false
21
+ type: :development
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: minitest
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0'
34
- type: :development
33
+ name: minitest
35
34
  prerelease: false
35
+ type: :development
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: gli
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
46
  version: '0'
48
- type: :runtime
47
+ name: gli
49
48
  prerelease: false
49
+ type: :runtime
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  requirements: []
83
- rubygems_version: 3.0.9
83
+ rubygems_version: 3.2.27
84
84
  signing_key:
85
85
  specification_version: 4
86
86
  summary: A ruby gem for dockerize your app!