rbdock 0.0.2 → 0.1.0
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 +4 -4
- data/.gitignore +3 -1
- data/README.md +36 -4
- data/Vagrantfile +2 -14
- data/lib/rbdock.rb +1 -2
- data/lib/rbdock/command.rb +4 -6
- data/lib/rbdock/command/options.rb +47 -58
- data/lib/rbdock/{create.rb → generate.rb} +26 -28
- data/lib/rbdock/helpers.rb +72 -3
- data/lib/rbdock/version.rb +1 -1
- data/templates/{centos_base_packages.erb → base_package/centos.erb} +1 -1
- data/templates/{ubuntu_base_packages.erb → base_package/ubuntu.erb} +1 -1
- data/templates/default/app.erb +9 -0
- data/templates/{bundler.erb → default/bundler.erb} +1 -0
- data/templates/default/ruby.erb +8 -0
- data/templates/rbenv/app.erb +8 -0
- data/templates/{rbenv_bundler.erb → rbenv/bundler.erb} +0 -0
- data/templates/{rbenv_ruby.erb → rbenv/ruby.erb} +0 -0
- data/templates/rvm/app.erb +8 -0
- data/templates/{rvm_bundler.erb → rvm/bundler.erb} +0 -0
- data/templates/{rvm_ruby.erb → rvm/ruby.erb} +0 -0
- metadata +14 -11
- data/templates/ruby.erb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6360827063092435950892991e08acb8e23a1843
|
4
|
+
data.tar.gz: 8ca404388d1a24a82901d1fd7f93206cc89c548b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6aa31f36757676489cbd1139ba1f98fd1518496c6d6c1a10ce58ad1753053c1949425d2b02c3ba890f2fad9d148afc0045402403bb56047cb9b9e3032ebb84df
|
7
|
+
data.tar.gz: 3eb3ebb1d5e6e29d9df8067c4da66c6af825b659f7ed412c61d1d2dee0a1179c39982d2eaac9afc7f00008726d9d6020b9ee1cb30583ed79021978ba09b238da
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/rbdock)
|
4
4
|
|
5
|
-
Generate Dockerfile
|
5
|
+
Generate Dockerfile for Ruby or Rails, Sinatra.
|
6
|
+
|
7
|
+
Dockerfile to prepare ruby is almost common, so generate its common parts. This is still experimetal and under heavy construction.
|
6
8
|
|
7
9
|
## Installation
|
8
10
|
|
@@ -21,17 +23,46 @@ Or install it yourself as:
|
|
21
23
|
|
22
24
|
## Usage
|
23
25
|
|
26
|
+
### Create Dockerfile to build ruby
|
27
|
+
|
24
28
|
Create `Dockerfile` to build ruby 2.0.0-p353 ready image.
|
25
29
|
|
26
30
|
```
|
27
|
-
$ rbdock
|
31
|
+
$ rbdock 2.1.0
|
32
|
+
```
|
33
|
+
|
34
|
+
It generates this [Dockerfile](https://gist.github.com/tcnksm/9388685).
|
35
|
+
|
36
|
+
You can create `Dockerfile` to build multiple versions of ruby by rbenv or rvm.
|
37
|
+
|
38
|
+
```
|
39
|
+
$ rbdock 2.0.0-p353 1.9.3-p484 -i centos
|
28
40
|
```
|
29
41
|
|
30
|
-
|
42
|
+
It generates this [Dockerfile](https://gist.github.com/tcnksm/9388736).
|
43
|
+
|
44
|
+
|
45
|
+
### Create Dockerfile for rails/sinatra application
|
46
|
+
|
47
|
+
For example, you can work with rails application developed on local environment.
|
48
|
+
|
49
|
+
```
|
50
|
+
$ rails new my_rails_app
|
51
|
+
$ rbdock 2.1.0 --app my_rails_app --rbenv
|
52
|
+
$ docker build -t tcnksm/rails_app .
|
53
|
+
$ docker run -i -p 3000:3000 -t tcnksm/rails_app 'rails server'
|
54
|
+
```
|
55
|
+
|
56
|
+
It generates this [Dockerfile](https://gist.github.com/tcnksm/9389036).
|
57
|
+
|
58
|
+
You can work with application hosted on remote repository. For example, this is my sinatra application hosted on github.
|
31
59
|
|
32
60
|
```
|
33
|
-
$ rbdock
|
61
|
+
$ rbdock 2.0.0-p353 --app https://github.com/tcnksm/trying-space
|
62
|
+
$ docker build -t tcnksm/sinatra_app .
|
63
|
+
$ docker run -i -p 8080:8080 -t tcnksm/my_sinatra_app 'rackup -p 8080'
|
34
64
|
```
|
65
|
+
It generates this [Dockerfile](https://gist.github.com/tcnksm/9389116). Your application will be cloned to local directory (`.rbdock_app`) and `ADD` to docker image.
|
35
66
|
|
36
67
|
### Options
|
37
68
|
|
@@ -40,6 +71,7 @@ $ rbdock create 2.0.0-p353 1.9.3-p484
|
|
40
71
|
|--image `name`| Set base image. Now `ubuntu` or `cenos` is avalable. Default is `ubuntu`.|
|
41
72
|
|--rbenv| Use [rbenv](https://github.com/sstephenson/rbenv) to manage ruby installation|
|
42
73
|
|--rvm | Use [rvm](https://github.com/wayneeseguin/rvm) to manage ruby installation|
|
74
|
+
|--app `url` | Add Rails/Sinatra application. You can set local path or remote host|
|
43
75
|
|--list | List all available ruby versions.|
|
44
76
|
|
45
77
|
|
data/Vagrantfile
CHANGED
@@ -1,20 +1,8 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
DOCKER_URL = "192.168.50.4"
|
5
|
-
DOCKER_PORT = 5422
|
6
|
-
|
7
1
|
Vagrant.configure("2") do |config|
|
8
2
|
config.vm.box = "precise64"
|
9
3
|
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
|
10
|
-
config.vm.network :private_network, ip:
|
4
|
+
config.vm.network :private_network, ip: "192.168.50.4"
|
11
5
|
config.vm.provision :docker do |d|
|
12
6
|
d.pull_images "ubuntu"
|
13
|
-
|
14
|
-
end
|
15
|
-
config.vm.provision :shell, :inline => <<-PREPARE
|
16
|
-
sudo sed -i -e 's/DOCKER_OPTS=/DOCKER_OPTS=\"-H 0.0.0.0:#{DOCKER_PORT}\"/g' /etc/init/docker.conf
|
17
|
-
sudo service docker stop
|
18
|
-
sudo service docker start
|
19
|
-
PREPARE
|
7
|
+
end
|
20
8
|
end
|
data/lib/rbdock.rb
CHANGED
data/lib/rbdock/command.rb
CHANGED
@@ -12,13 +12,11 @@ module Rbdock
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def execute
|
15
|
-
options
|
16
|
-
|
17
|
-
|
18
|
-
case sub_command
|
19
|
-
when 'create'
|
20
|
-
Rbdock::Create.run(options)
|
15
|
+
options = Options.parse!(@argv)
|
16
|
+
if options[:app]
|
17
|
+
options[:app_path] = Rbdock.clone_app_to_local(options[:app])
|
21
18
|
end
|
19
|
+
Rbdock::Generate.run(options)
|
22
20
|
rescue => e
|
23
21
|
abort "Error: #{e.message}"
|
24
22
|
end
|
@@ -7,96 +7,85 @@ module Rbdock
|
|
7
7
|
def self.parse!(argv)
|
8
8
|
options = {}
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
set_default_value options
|
11
|
+
command_parser = create_command_parser options
|
12
12
|
|
13
13
|
begin
|
14
|
-
command_parser.
|
15
|
-
options[:command] = argv.shift
|
16
|
-
sub_command_parser[options[:command]].parse!(argv)
|
14
|
+
command_parser.parse!(argv)
|
17
15
|
ruby_version_perser options, argv
|
18
16
|
rescue OptionParser::MissingArgument, OptionParser::InvalidOption, ArgumentError => e
|
19
17
|
abort e.message
|
20
18
|
end
|
21
|
-
|
19
|
+
|
22
20
|
options
|
23
21
|
end
|
24
22
|
|
25
|
-
def self.
|
23
|
+
def self.set_default_value options
|
24
|
+
options[:image] = "ubuntu"
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.create_command_parser options
|
26
28
|
OptionParser.new do |opt|
|
27
|
-
opt
|
28
|
-
|
29
|
-
STDERR.puts opt.ver
|
30
|
-
exit
|
31
|
-
}
|
29
|
+
show_version opt
|
30
|
+
show_help opt
|
32
31
|
|
33
|
-
opt.
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
opt.
|
40
|
-
|
41
|
-
|
32
|
+
opt.on('-i name','--image=name', 'Set image name(ubuntu|centos)') { |v|
|
33
|
+
options[:image] = v
|
34
|
+
}
|
35
|
+
opt.on('--rbenv', desc='Use rbenv') {
|
36
|
+
options[:use_rbenv] = true
|
37
|
+
}
|
38
|
+
opt.on('--rvm', desc='Use rvm') {
|
39
|
+
options[:use_rvm] = true
|
40
|
+
}
|
41
|
+
opt.on('-a path','--app=path', 'Add Rails/Sinatra app') { |path|
|
42
|
+
options[:app] = path
|
42
43
|
}
|
44
|
+
opt.on('-l','--list', 'List all available ruby versions') {
|
45
|
+
list_ruby_versions
|
46
|
+
}
|
43
47
|
end
|
44
48
|
end
|
45
49
|
|
46
|
-
def self.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
opt.
|
58
|
-
|
59
|
-
|
60
|
-
opt.on_tail('-h','--help', 'Show this message') { help_sub_command(opt) }
|
61
|
-
end
|
62
|
-
|
63
|
-
parser
|
50
|
+
def self.show_version opt
|
51
|
+
opt.on_tail('-v','--version','Show version') {
|
52
|
+
opt.version = Rbdock::VERSION
|
53
|
+
STDERR.puts opt.ver
|
54
|
+
exit
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.show_help opt
|
59
|
+
opt.banner = "Usage: #{opt.program_name} <ruby-versions> [<args>]"
|
60
|
+
opt.on_tail('-h','--help','Show this message') {
|
61
|
+
STDERR.puts opt.help
|
62
|
+
exit
|
63
|
+
}
|
64
64
|
end
|
65
65
|
|
66
66
|
def self.ruby_version_perser options, argv
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
options[:ruby_versions] = argv
|
71
|
-
end
|
67
|
+
raise ArgumentError, "#{options[:command]} ruby versions not found." if argv.empty?
|
68
|
+
check_version_avaiable argv
|
69
|
+
options[:ruby_versions] = argv
|
72
70
|
options
|
73
71
|
end
|
74
72
|
|
75
73
|
def self.check_version_avaiable argv
|
76
74
|
argv.each do |v|
|
77
|
-
if not Rbdock::
|
78
|
-
raise ArgumentError, "Definition not found: #{v} \n\nYou can list all available ruby versions with `rbdock
|
75
|
+
if not Rbdock::Generate.ruby_versions.include? v
|
76
|
+
raise ArgumentError, "Definition not found: #{v} \n\nYou can list all available ruby versions with `rbdock --list'."
|
79
77
|
end
|
80
78
|
end
|
81
79
|
end
|
82
80
|
|
83
81
|
def self.list_ruby_versions
|
84
82
|
STDERR.print "Available versions:\n "
|
85
|
-
STDERR.print Rbdock::
|
83
|
+
STDERR.print Rbdock::Generate.ruby_versions.join("\n ")
|
86
84
|
STDERR.puts
|
87
85
|
exit
|
88
86
|
end
|
89
|
-
|
90
|
-
def self.help_sub_command parser
|
91
|
-
STDERR.puts parser.help
|
92
|
-
exit
|
93
|
-
end
|
94
|
-
|
95
|
-
def self.sub_command_help
|
96
|
-
[
|
97
|
-
{name: 'create <ruby-versions> -i <image>', summary: 'Generate Dockerfile which installs <ruby-versions>'}
|
98
|
-
]
|
99
|
-
end
|
87
|
+
|
100
88
|
end
|
101
89
|
end
|
102
90
|
end
|
91
|
+
|
@@ -2,10 +2,10 @@ require "erubis"
|
|
2
2
|
|
3
3
|
module Rbdock
|
4
4
|
|
5
|
-
class
|
5
|
+
class Generate
|
6
6
|
|
7
7
|
def self.run options
|
8
|
-
new(options).
|
8
|
+
new(options).execute
|
9
9
|
end
|
10
10
|
|
11
11
|
def initialize options
|
@@ -13,15 +13,15 @@ module Rbdock
|
|
13
13
|
@ruby_versions = options[:ruby_versions]
|
14
14
|
@use_rbenv = options[:use_rbenv]
|
15
15
|
@use_rvm = options[:use_rvm]
|
16
|
+
@app_path = options[:app_path]
|
16
17
|
end
|
17
18
|
|
18
|
-
def
|
19
|
+
def execute
|
19
20
|
if @use_rbenv
|
20
21
|
safe_write rbenv_template
|
21
22
|
elsif @use_rvm
|
22
23
|
safe_write rvm_template
|
23
24
|
elsif mutiple_rubies?
|
24
|
-
# Use rbenv for default installing multiple rubies
|
25
25
|
safe_write rbenv_template
|
26
26
|
else
|
27
27
|
safe_write default_template
|
@@ -51,37 +51,35 @@ module Rbdock
|
|
51
51
|
@ruby_versions.length > 1
|
52
52
|
end
|
53
53
|
|
54
|
+
def erubis template_path
|
55
|
+
Erubis::Eruby.new(template_path.read, trim: true).result(binding)
|
56
|
+
end
|
57
|
+
|
58
|
+
def base_package_template
|
59
|
+
erubis Rbdock.source_root.join("templates/base_package/#{@image}.erb")
|
60
|
+
end
|
61
|
+
|
54
62
|
def default_template
|
55
|
-
|
56
|
-
template
|
57
|
-
|
58
|
-
|
59
|
-
template
|
60
|
-
|
61
|
-
template_path = Rbdock.source_root.join("templates/bundler.erb")
|
62
|
-
template << Erubis::Eruby.new(template_path.read, trim: true).result(binding)
|
63
|
+
template = base_package_template
|
64
|
+
template << erubis(Rbdock.source_root.join("templates/default/ruby.erb"))
|
65
|
+
template << erubis(Rbdock.source_root.join("templates/default/bundler.erb"))
|
66
|
+
template << erubis(Rbdock.source_root.join("templates/default/app.erb")) if @app_path
|
67
|
+
template
|
63
68
|
end
|
64
69
|
|
65
70
|
def rbenv_template
|
66
|
-
|
67
|
-
template
|
68
|
-
|
69
|
-
|
70
|
-
template
|
71
|
-
|
72
|
-
template_path = Rbdock.source_root.join("templates/rbenv_bundler.erb")
|
73
|
-
template << Erubis::Eruby.new(template_path.read, trim: true).result(binding)
|
71
|
+
template = base_package_template
|
72
|
+
template << erubis(Rbdock.source_root.join("templates/rbenv/ruby.erb"))
|
73
|
+
template << erubis(Rbdock.source_root.join("templates/rbenv/bundler.erb"))
|
74
|
+
template << erubis(Rbdock.source_root.join("templates/rbenv/app.erb")) if @app_path
|
75
|
+
template
|
74
76
|
end
|
75
77
|
|
76
78
|
def rvm_template
|
77
|
-
|
78
|
-
template
|
79
|
-
|
80
|
-
|
81
|
-
template << Erubis::Eruby.new(template_path.read, trim: true).result(binding)
|
82
|
-
|
83
|
-
template_path = Rbdock.source_root.join("templates/rvm_bundler.erb")
|
84
|
-
template << Erubis::Eruby.new(template_path.read, trim: true).result(binding)
|
79
|
+
template = base_package_template
|
80
|
+
template << erubis(Rbdock.source_root.join("templates/rvm/ruby.erb"))
|
81
|
+
template << erubis(Rbdock.source_root.join("templates/rvm/bundler.erb"))
|
82
|
+
template << erubis(Rbdock.source_root.join("templates/rvm/app.erb")) if @app_path
|
85
83
|
end
|
86
84
|
|
87
85
|
def self.ruby_versions
|
data/lib/rbdock/helpers.rb
CHANGED
@@ -1,7 +1,76 @@
|
|
1
1
|
require "pathname"
|
2
|
+
require "uri"
|
2
3
|
|
3
4
|
module Rbdock
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
|
6
|
+
class << self
|
7
|
+
|
8
|
+
def source_root
|
9
|
+
@source_root ||= Pathname.new(File.expand_path('../../../', __FILE__))
|
10
|
+
end
|
11
|
+
|
12
|
+
def clone_app_to_local url
|
13
|
+
raise StandardError, "command git not found." if `which git`.empty?
|
14
|
+
|
15
|
+
if local? url
|
16
|
+
if not File.exist?(File.join(source_root, url))
|
17
|
+
raise StandardError, "#{url} is not exit"
|
18
|
+
end
|
19
|
+
|
20
|
+
return url
|
21
|
+
end
|
22
|
+
|
23
|
+
if not already_cloned?
|
24
|
+
return exec_clone url
|
25
|
+
end
|
26
|
+
|
27
|
+
if already_cloned? and same_app?(url)
|
28
|
+
return update_app url
|
29
|
+
end
|
30
|
+
|
31
|
+
return replace_app url
|
32
|
+
end
|
33
|
+
|
34
|
+
def default_app_path
|
35
|
+
'.rbdock_app'
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def local? url
|
41
|
+
not URI.regexp =~ url
|
42
|
+
end
|
43
|
+
|
44
|
+
def exec_clone url
|
45
|
+
if not system("git clone -q #{url} #{default_app_path}")
|
46
|
+
raise StandardError, "clone #{url} is failed. Check url."
|
47
|
+
end
|
48
|
+
STDERR.puts "Clone #{url} to #{default_app_path}/"
|
49
|
+
default_app_path
|
50
|
+
end
|
51
|
+
|
52
|
+
def replace_app url
|
53
|
+
system("rm -fr #{default_app_path}")
|
54
|
+
exec_clone url
|
55
|
+
STDERR.puts "Delete old app and clone #{url} to #{default_app_path}/"
|
56
|
+
default_app_path
|
57
|
+
end
|
58
|
+
|
59
|
+
def update_app url
|
60
|
+
if not system("cd #{default_app_path}; git pull -q")
|
61
|
+
raise StandardError, "clone #{url} is failed. Check url."
|
62
|
+
end
|
63
|
+
STDERR.puts "Update #{url}"
|
64
|
+
default_app_path
|
65
|
+
end
|
66
|
+
|
67
|
+
def already_cloned?
|
68
|
+
File.exist? default_app_path
|
69
|
+
end
|
70
|
+
|
71
|
+
def same_app? url
|
72
|
+
url == `git --git-dir=.rbdock_app/.git config --get remote.origin.url`.chomp
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
7
76
|
end
|
data/lib/rbdock/version.rb
CHANGED
@@ -5,6 +5,6 @@ RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.
|
|
5
5
|
RUN yum -y update
|
6
6
|
RUN yum install -y make gcc gcc-c++ wget curl git
|
7
7
|
RUN yum install -y openssl-devel zlib-devel readline-devel libffi-devel httpd-devel libyaml-devel
|
8
|
-
RUN yum install -y bzip2 autoconf automake libtool bison iconv-devel
|
8
|
+
RUN yum install -y bzip2 autoconf automake libtool bison iconv-devel ruby-devel
|
9
9
|
RUN yum --enablerepo=epel -y install libyaml-devel
|
10
10
|
|
@@ -4,6 +4,6 @@ FROM ubuntu
|
|
4
4
|
RUN apt-get update
|
5
5
|
RUN apt-get install -y build-essential wget curl git
|
6
6
|
RUN apt-get install -y zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev
|
7
|
-
RUN apt-get install sqlite3 libsqlite3-dev
|
7
|
+
RUN apt-get install -y sqlite3 libsqlite3-dev
|
8
8
|
RUN apt-get clean
|
9
9
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbdock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tcnksm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubis
|
@@ -128,19 +128,22 @@ files:
|
|
128
128
|
- lib/rbdock.rb
|
129
129
|
- lib/rbdock/command.rb
|
130
130
|
- lib/rbdock/command/options.rb
|
131
|
-
- lib/rbdock/
|
131
|
+
- lib/rbdock/generate.rb
|
132
132
|
- lib/rbdock/helpers.rb
|
133
133
|
- lib/rbdock/version.rb
|
134
134
|
- rbdock.gemspec
|
135
135
|
- spec/spec_helper.rb
|
136
|
-
- templates/
|
137
|
-
- templates/
|
138
|
-
- templates/
|
139
|
-
- templates/
|
140
|
-
- templates/ruby.erb
|
141
|
-
- templates/
|
142
|
-
- templates/
|
143
|
-
- templates/
|
136
|
+
- templates/base_package/centos.erb
|
137
|
+
- templates/base_package/ubuntu.erb
|
138
|
+
- templates/default/app.erb
|
139
|
+
- templates/default/bundler.erb
|
140
|
+
- templates/default/ruby.erb
|
141
|
+
- templates/rbenv/app.erb
|
142
|
+
- templates/rbenv/bundler.erb
|
143
|
+
- templates/rbenv/ruby.erb
|
144
|
+
- templates/rvm/app.erb
|
145
|
+
- templates/rvm/bundler.erb
|
146
|
+
- templates/rvm/ruby.erb
|
144
147
|
homepage: https://github.com/tcnksm/rbdock
|
145
148
|
licenses:
|
146
149
|
- MIT
|
data/templates/ruby.erb
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
# Install ruby
|
2
|
-
RUN wget -P /root/src ftp://ftp.ruby-lang.org/pub/ruby/ruby-<%= @ruby_versions[0] %>.tar.gz
|
3
|
-
RUN cd /root/src; tar xvf ruby-<%= @ruby_versions[0] %>.tar.gz
|
4
|
-
RUN cd /root/src/ruby-<%= @ruby_versions[0] %>; ./configure --disable-install-doc; make install
|
5
|
-
|