roro 0.3.8 → 0.3.16
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 -5
- data/{lib/roro/cli/templates/base → .circleci}/.keep +0 -0
- data/.circleci/config.yml +92 -0
- data/{lib/roro/cli/templates/ruby_gem → .circleci}/setup-gem-credentials.sh +1 -1
- data/.gitignore +2 -2
- data/Guardfile +7 -7
- data/docker-compose.yml +15 -0
- data/lib/roro.rb +1 -2
- data/lib/roro/cli.rb +12 -76
- data/lib/roro/cli/base/check_dependencies.rb +0 -1
- data/lib/roro/cli/base/utilities.rb +0 -1
- data/lib/roro/cli/generate/config.rb +6 -8
- data/lib/roro/cli/generate/exposed.rb +14 -0
- data/lib/roro/cli/generate/{generate_keys.rb → keys.rb} +22 -0
- data/lib/roro/cli/generate/obfuscated.rb +17 -0
- data/lib/roro/cli/greenfield/rails.rb +36 -0
- data/lib/roro/cli/rollon.rb +2 -66
- data/lib/roro/cli/rollon/rails.rb +47 -0
- data/lib/roro/cli/rollon/{stories/rails/database → rails}/database.rb +3 -4
- data/lib/roro/cli/rollon/{stories/rails → rails}/database/with_mysql.rb +2 -2
- data/lib/roro/cli/rollon/{stories/rails/database/with_postgres.rb → rails/database/with_postgresql.rb} +2 -2
- data/lib/roro/cli/rollon/ruby_gem.rb +1 -0
- data/lib/roro/cli/rollon/ruby_gem/with_ci_cd.rb +45 -0
- data/lib/roro/cli/rollon/stories.rb +2 -3
- data/lib/roro/cli/rollon/stories/stories.rb +0 -4
- data/lib/roro/cli/templates/base/.circleci/_defaults.yml +15 -0
- data/lib/roro/cli/templates/base/.circleci/_workflow.yml +2 -0
- data/lib/roro/cli/templates/base/.circleci/config.job-example.yml +33 -0
- data/lib/roro/cli/templates/base/.circleci/jobs/_build.yml +4 -0
- data/lib/roro/cli/templates/base/.circleci/jobs/_release.yml +12 -0
- data/lib/roro/cli/templates/base/.circleci/workflows/_build_release.yml +10 -0
- data/lib/roro/cli/templates/base/.dockerignore +2 -2
- data/lib/roro/cli/templates/base/dotenv +1 -0
- data/lib/roro/cli/templates/{dockerize → rails/.circleci}/.keep +0 -0
- data/lib/roro/cli/templates/rails/.circleci/_aliases.yml +8 -0
- data/lib/roro/cli/templates/rails/.circleci/config.yml.tt +15 -0
- data/lib/roro/cli/templates/rails/.circleci/jobs/_build.yml +16 -0
- data/lib/roro/cli/templates/rails/.circleci/jobs/_push.yml +23 -0
- data/lib/roro/cli/templates/rails/.circleci/jobs/_test.yml +10 -0
- data/lib/roro/cli/templates/rails/.circleci/setup-gem-credentials.sh +3 -0
- data/lib/roro/cli/templates/rails/.circleci/workflows/_build_test_push.yml +9 -0
- data/lib/roro/cli/templates/{ruby_gem/roro/env_files → rails}/.keep +0 -0
- data/lib/roro/cli/templates/{greenfield/Dockerfile.tt → rails/Dockerfile.greenfield.tt} +11 -7
- data/lib/roro/cli/templates/{base → rails}/config/database.mysql.yml +0 -0
- data/lib/roro/cli/templates/{base → rails}/config/database.pg.yml +0 -0
- data/lib/roro/cli/templates/rails/database/with_mysql/_service.yml +10 -0
- data/lib/roro/cli/{rollon/stories/database.rb → templates/rails/database/with_postgresql/.keep} +0 -0
- data/lib/roro/cli/templates/rails/database/with_postgresql/_service.yml +7 -0
- data/lib/roro/cli/templates/rails/dotenv/.keep +0 -0
- data/lib/roro/cli/templates/rails/dotenv/database.mysql.env.tt +3 -0
- data/lib/roro/cli/templates/rails/dotenv/database.pg.env.tt +4 -0
- data/lib/roro/cli/templates/rails/dotenv/web.env.tt +2 -0
- data/lib/roro/cli/templates/rails/roro/.keep +0 -0
- data/lib/roro/cli/templates/rails/roro/containers/.keep +0 -0
- data/lib/roro/cli/templates/rails/roro/containers/app/.keep +0 -0
- data/lib/roro/cli/templates/{base → rails/roro/containers/app}/Dockerfile.tt +18 -9
- data/lib/roro/cli/templates/rails/roro/containers/frontend/.keep +0 -0
- data/lib/roro/cli/templates/{dockerize → rails/roro}/docker-compose.yml.tt +15 -16
- data/lib/roro/cli/templates/rails/roro/docker-entrypoint.sh.tt +8 -0
- data/lib/roro/cli/templates/rails/roro/roro/.keep +0 -0
- data/lib/roro/cli/templates/rails/roro/roro/containers/.keep +0 -0
- data/lib/roro/cli/templates/rails/roro/roro/containers/app/.keep +0 -0
- data/lib/roro/cli/templates/rails/roro/roro/containers/frontend/.keep +0 -0
- data/lib/roro/cli/templates/rails/roro/roro/docker-entrypoint.sh.tt +8 -0
- data/lib/roro/cli/templates/roro/docker-compose.yml.tt +6 -7
- data/lib/roro/cli/templates/ruby_gem/.circleci/.keep +0 -0
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt +16 -0
- data/lib/roro/cli/templates/ruby_gem/.circleci/setup-gem-credentials.sh +3 -0
- data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +8 -2
- data/lib/roro/cli/templates/ruby_gem/roro/containers/.keep +0 -0
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +16 -0
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +1 -0
- data/lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml +11 -0
- data/lib/roro/cli/templates/stories/with_mysql/_service.yml +2 -2
- data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +2 -2
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +5 -5
- data/roro/containers/.keep +0 -0
- data/roro/containers/ruby_image/Dockerfile +16 -0
- data/roro/containers/ruby_image/ci.env.enc +2 -0
- data/roro/keys/.keep +0 -0
- data/tmp/.keep +0 -0
- data/vendor/cache/apparition-0.6.0.gem +0 -0
- data/vendor/cache/capybara-3.33.0.gem +0 -0
- data/vendor/cache/childprocess-3.0.0.gem +0 -0
- data/vendor/cache/handsome_fencer-crypto-0.1.9.gem +0 -0
- data/vendor/cache/handsome_fencer-test-0.2.2.gem +0 -0
- data/vendor/cache/mini_mime-1.0.2.gem +0 -0
- data/vendor/cache/regexp_parser-1.7.1.gem +0 -0
- data/vendor/cache/rubyzip-2.3.0.gem +0 -0
- data/vendor/cache/selenium-webdriver-3.142.7.gem +0 -0
- data/vendor/cache/shoulda-2.11.3.gem +0 -0
- data/vendor/cache/shoulda-context-2.0.0.rc2.gem +0 -0
- data/vendor/cache/shoulda-matchers-4.4.1.gem +0 -0
- data/vendor/cache/websocket-driver-0.7.3.gem +0 -0
- data/vendor/cache/websocket-extensions-0.1.5.gem +0 -0
- data/vendor/cache/xpath-3.2.0.gem +0 -0
- metadata +112 -82
- data/lib/roro/cli/cli.rb +0 -99
- data/lib/roro/cli/expose.rb +0 -14
- data/lib/roro/cli/greenfield.rb +0 -31
- data/lib/roro/cli/obfuscate.rb +0 -19
- data/lib/roro/cli/rollon/stories/rails.rb +0 -1
- data/lib/roro/cli/rollon/stories/ruby_gem.rb +0 -77
- data/lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb +0 -60
- data/lib/roro/cli/ruby_gem.rb +0 -67
- data/lib/roro/cli/templates/circleci/config.yml.tt +0 -70
- data/lib/roro/cli/templates/dockerize/Dockerfile.tt +0 -23
- data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +0 -9
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml +0 -122
- data/lib/roro/cli/templates/ruby_gem/roro/containers/gem/Dockerfile.tt +0 -9
- data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
- data/vendor/cache/actionview-6.0.3.2.gem +0 -0
- data/vendor/cache/builder-3.2.4.gem +0 -0
- data/vendor/cache/crass-1.0.6.gem +0 -0
- data/vendor/cache/erubi-1.9.0.gem +0 -0
- data/vendor/cache/handsome_fencer-crypto-0.1.6.gem +0 -0
- data/vendor/cache/handsome_fencer-test-0.1.1.gem +0 -0
- data/vendor/cache/loofah-2.6.0.gem +0 -0
- data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
- data/vendor/cache/rails-dom-testing-2.0.3.gem +0 -0
- data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
- data/vendor/cache/railties-6.0.3.2.gem +0 -0
- data/vendor/cache/shoulda-4.0.0.gem +0 -0
- data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
- data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'roro/cli/rollon/stories'
|
2
|
+
require 'roro/cli/rollon/rails/database'
|
3
|
+
|
4
|
+
module Roro
|
5
|
+
|
6
|
+
class CLI < Thor
|
7
|
+
|
8
|
+
desc "rollon::rails", "Generates files for and makes changes to your app
|
9
|
+
so it can run using Docker containers."
|
10
|
+
method_option :interactive, desc: "Set up your environment variables as
|
11
|
+
you go."
|
12
|
+
map "rollon::rails" => "rollon_rails"
|
13
|
+
|
14
|
+
def rollon_rails(*args)
|
15
|
+
confirm_directory_not_empty
|
16
|
+
confirm_dependencies
|
17
|
+
configure_for_rollon
|
18
|
+
copy_rails_files
|
19
|
+
generate_config
|
20
|
+
startup_commands
|
21
|
+
end
|
22
|
+
|
23
|
+
no_commands do
|
24
|
+
|
25
|
+
def copy_rails_files
|
26
|
+
template 'rails/.circleci/config.yml.tt', './.circleci/config.yml'
|
27
|
+
configure_database
|
28
|
+
directory 'roro', './', @config.app
|
29
|
+
template 'base/dotenv', './.env', @config.app
|
30
|
+
directory 'rails/roro', './roro', @config.app
|
31
|
+
take_thor_actions
|
32
|
+
end
|
33
|
+
|
34
|
+
def startup_commands
|
35
|
+
success_msg = "'\n\n#{'*' * 5 }\n\nYour Rails app is available at http://localhost:3000/'\n\n#{'*' * 5 }"
|
36
|
+
system 'docker-compose build'
|
37
|
+
system 'docker-compose run web bundle'
|
38
|
+
system 'docker-compose run web bin/rails webpacker:install'
|
39
|
+
system 'docker-compose run web bin/rails yarn:install'
|
40
|
+
system 'docker-compose run web bin/rails db:create'
|
41
|
+
system 'docker-compose run web bin/rails db:migrate'
|
42
|
+
system 'docker-compose up -d'
|
43
|
+
system "docker-compose run web echo '\n\nYour Rails app is available at http://localhost:3000/'"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -19,10 +19,9 @@ module Roro
|
|
19
19
|
end
|
20
20
|
|
21
21
|
%w(development production test staging ci).each do |environment|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
)
|
22
|
+
src = 'rails/dotenv/web.env.tt'
|
23
|
+
dest = "roro/containers/app/#{environment}.env"
|
24
|
+
template src, dest, @config.app
|
26
25
|
end
|
27
26
|
end
|
28
27
|
end
|
@@ -6,13 +6,13 @@ module Roro
|
|
6
6
|
|
7
7
|
def configure_for_mysql
|
8
8
|
insert_db_gem('mysql2')
|
9
|
-
copy_file '
|
9
|
+
copy_file 'rails/config/database.mysql.yml', 'config/database.yml', force: true
|
10
10
|
config = @config.app.clone
|
11
11
|
|
12
12
|
%w(development production test staging ci).each do |environment|
|
13
13
|
config['rails_env'] = environment
|
14
14
|
|
15
|
-
source = '
|
15
|
+
source = 'rails/dotenv/database.mysql.env.tt'
|
16
16
|
target = "roro/containers/database/#{environment}.env"
|
17
17
|
template( source, target, config )
|
18
18
|
end
|
@@ -6,12 +6,12 @@ module Roro
|
|
6
6
|
|
7
7
|
def configure_for_pg
|
8
8
|
insert_db_gem('pg')
|
9
|
-
copy_file '
|
9
|
+
copy_file 'rails/config/database.pg.yml', 'config/database.yml', force: true
|
10
10
|
config = @config.app.clone
|
11
11
|
%w(development production test staging ci).each do |environment|
|
12
12
|
config['rails_env'] = environment
|
13
13
|
|
14
|
-
source = '
|
14
|
+
source = 'rails/dotenv/database.pg.env.tt'
|
15
15
|
target = "roro/containers/database/#{environment}.env"
|
16
16
|
template( source, target, config )
|
17
17
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'roro/cli/rollon/ruby_gem/with_ci_cd.rb'
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Roro
|
2
|
+
class CLI < Thor
|
3
|
+
|
4
|
+
desc "rollon::ruby_gem::with_ci_cd", "Generate files for containerized gem testing, CircleCI, and releasing to RubyGems."
|
5
|
+
map "rollon::ruby_gem::with_ci_cd" => "rollon_ruby_gem_with_ci_cd"
|
6
|
+
|
7
|
+
def rollon_ruby_gem_with_ci_cd(*args)
|
8
|
+
ruby_gem_with_ci_cd(*args)
|
9
|
+
configure_for_rollon
|
10
|
+
end
|
11
|
+
|
12
|
+
no_commands do
|
13
|
+
def ruby_gem_with_ci_cd(*args)
|
14
|
+
answer = ask("\nYou can add your rubygems api key in\n\t
|
15
|
+
'./roro/containers/ruby_gem/ci.env' \n\nlater, or we'll try to add it here:",
|
16
|
+
default: '')
|
17
|
+
rubygems_api_key = (answer.eql?("") ? 'some-key' : answer)
|
18
|
+
@config.app['rubygems_api_key'] = rubygems_api_key
|
19
|
+
@config.app['rubies'] = []
|
20
|
+
3.times do |index|
|
21
|
+
newruby = @config.app['ruby_version'].gsub('.', '').to_i - index
|
22
|
+
@config.app['rubies'] << newruby.to_s.split('').join('.')
|
23
|
+
end
|
24
|
+
directory 'ruby_gem/roro', './roro', @config.app
|
25
|
+
directory 'ruby_gem/.circleci', './.circleci', @config.app
|
26
|
+
copy_file 'ruby_gem/docker-compose.yml', './docker-compose.yml'
|
27
|
+
|
28
|
+
@config.app['rubies'].each do |ruby|
|
29
|
+
file = '.circleci/config.yml'
|
30
|
+
spacer = "\n - run: "
|
31
|
+
rv = "RUBY_VERSION=#{ruby} docker-compose "
|
32
|
+
build = "build ruby_gem"
|
33
|
+
up = "up -d --force-recreate ruby_gem"
|
34
|
+
run_tests = "run ruby_gem bundle exec rake test"
|
35
|
+
append_to_file file, spacer + rv + run_tests, after: "- placeholder"
|
36
|
+
append_to_file file, spacer + rv + up, after: "- placeholder"
|
37
|
+
append_to_file file, spacer + rv + build, after: "- placeholder"
|
38
|
+
end
|
39
|
+
gsub_file '.circleci/config.yml', "- placeholder", "- checkout"
|
40
|
+
append_to_file ".gitignore", "\nGemfile.lock"
|
41
|
+
gitignore_sensitive_files
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -1,3 +1,2 @@
|
|
1
|
-
require 'roro/cli/rollon/
|
2
|
-
require 'roro/cli/rollon/
|
3
|
-
require 'roro/cli/rollon/stories/database'
|
1
|
+
require 'roro/cli/rollon/ruby_gem'
|
2
|
+
require 'roro/cli/rollon/rails'
|
@@ -0,0 +1,33 @@
|
|
1
|
+
defaults: &defaults
|
2
|
+
working_directory: /tmp
|
3
|
+
|
4
|
+
version: 2
|
5
|
+
|
6
|
+
jobs:
|
7
|
+
|
8
|
+
build:
|
9
|
+
machine: true
|
10
|
+
steps:
|
11
|
+
- checkout
|
12
|
+
- add_ssh_keys
|
13
|
+
|
14
|
+
- run: gem install handsome_fencer-circle_c_i
|
15
|
+
- run: handsome_fencer-circle_c_i expose circleci
|
16
|
+
- run: handsome_fencer-circle_c_i expose development
|
17
|
+
- run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
|
18
|
+
- run: docker-compose build
|
19
|
+
- run: docker-compose up -d
|
20
|
+
- run: docker-compose exec app bin/rails db:create db:migrate
|
21
|
+
- run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
|
22
|
+
- run:
|
23
|
+
name: Tag app image
|
24
|
+
command: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
|
25
|
+
- run:
|
26
|
+
name: Tag web image
|
27
|
+
command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
|
28
|
+
|
29
|
+
|
30
|
+
- run: docker push ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
|
31
|
+
- run: docker push ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
|
32
|
+
|
33
|
+
- run: rake --rakefile .circleci/Rakefile
|
@@ -0,0 +1,12 @@
|
|
1
|
+
release:
|
2
|
+
machine: true
|
3
|
+
steps:
|
4
|
+
- checkout
|
5
|
+
- run: gem install roro
|
6
|
+
- run: roro generate::exposed ci
|
7
|
+
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
8
|
+
- run: chmod +x ./.circleci/setup-gem-credentials.sh
|
9
|
+
- run: ./.circleci/setup-gem-credentials.sh
|
10
|
+
- run: cat ~/.gem/credentials
|
11
|
+
- run: git checkout .
|
12
|
+
- run: gem release
|
@@ -0,0 +1 @@
|
|
1
|
+
RORO_ENV=development
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= yaml_from_template("rails/.circleci/_aliases.yml") %>
|
2
|
+
|
3
|
+
<%= yaml_from_template("base/.circleci/_defaults.yml") %>
|
4
|
+
|
5
|
+
<%= yaml_from_template("rails/.circleci/jobs/_build.yml") %>
|
6
|
+
|
7
|
+
<%= yaml_from_template("rails/.circleci/jobs/_test.yml") %>
|
8
|
+
|
9
|
+
<%= yaml_from_template("rails/.circleci/jobs/_push.yml") %>
|
10
|
+
|
11
|
+
<%= yaml_from_template("base/.circleci/_workflow.yml") %>
|
12
|
+
|
13
|
+
<%= yaml_from_template("rails/.circleci/workflows/_build_test_push.yml") %>
|
14
|
+
|
15
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
build:
|
2
|
+
<<: *defaults
|
3
|
+
steps:
|
4
|
+
- checkout
|
5
|
+
- run: |
|
6
|
+
gem install roro
|
7
|
+
roro generate::exposed ci
|
8
|
+
- run: |
|
9
|
+
mkdir -p workspace
|
10
|
+
cp -r roro workspace/
|
11
|
+
- persist_to_workspace:
|
12
|
+
root: workspace
|
13
|
+
paths:
|
14
|
+
- roro
|
15
|
+
- run: *source-ci-variables
|
16
|
+
- run: RORO_ENV=ci docker-compose up -d --build
|
@@ -0,0 +1,23 @@
|
|
1
|
+
push:
|
2
|
+
machine: true
|
3
|
+
steps:
|
4
|
+
- checkout
|
5
|
+
- run: gem install handsome_fencer-circle_c_i
|
6
|
+
- run: handsome_fencer-circle_c_i expose circleci
|
7
|
+
- run: handsome_fencer-circle_c_i expose development
|
8
|
+
- run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
|
9
|
+
- run: cp docker/overrides/circleci.yml docker-compose.override.yml
|
10
|
+
- run: docker-compose build
|
11
|
+
- run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
|
12
|
+
- run:
|
13
|
+
name: Tag app image
|
14
|
+
command: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_app:$DEPLOY_TAG
|
15
|
+
# - run: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_app:latest
|
16
|
+
- run:
|
17
|
+
name: Tag app image
|
18
|
+
command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_web:$DEPLOY_TAG
|
19
|
+
# - run: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_web:latest
|
20
|
+
- run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_app:$DEPLOY_TAG
|
21
|
+
- run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_app:latest
|
22
|
+
- run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_web:$DEPLOY_TAG
|
23
|
+
- run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_web:latest
|
File without changes
|
@@ -13,24 +13,28 @@ RUN mkdir ${APP_HOME}
|
|
13
13
|
|
14
14
|
## Tell bundler where to store downloaded gems:
|
15
15
|
ENV BUNDLE_PATH /gems
|
16
|
-
RUN mkdir ${BUNDLE_PATH}
|
16
|
+
RUN mkdir ${BUNDLE_PATH}
|
17
17
|
|
18
18
|
## Tell Docker to create volumes for our workspace and gems
|
19
19
|
## so other containers can access them.
|
20
20
|
VOLUME ${APP_HOME}
|
21
|
-
VOLUME
|
21
|
+
VOLUME ${BUNDLE_PATH}
|
22
|
+
|
23
|
+
## Switch to the the work directory from container root:
|
24
|
+
WORKDIR ${APP_HOME}
|
22
25
|
|
23
26
|
## Create a Gemfile with just the Rails gem inside:
|
24
27
|
RUN echo "source 'https://rubygems.org'\ngem 'rails'" > Gemfile
|
25
28
|
|
26
29
|
## Bundle to install rails:
|
27
|
-
|
28
|
-
## Switch to the the work directory from container root:
|
29
|
-
WORKDIR ${APP_HOME}
|
30
|
-
|
31
30
|
RUN bundle install
|
31
|
+
|
32
32
|
## Use Rails to generate a new app. We'll configure it later.
|
33
|
-
RUN bundle exec rails new .
|
33
|
+
RUN bundle exec rails new .
|
34
|
+
|
35
|
+
## setup yarn for rails:
|
36
|
+
RUN bundle exec rails yarn:install
|
37
|
+
|
34
38
|
|
35
39
|
## Tell docker not to create a layer:
|
36
40
|
FROM scratch AS export-stage
|
File without changes
|
File without changes
|
data/lib/roro/cli/{rollon/stories/database.rb → templates/rails/database/with_postgresql/.keep}
RENAMED
File without changes
|
File without changes
|