roro 0.3.13 → 0.3.21
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/.circleci/config.yml +55 -11
- data/.gitignore +3 -2
- data/Guardfile +8 -10
- data/README.md +2 -1
- data/lib/roro.rb +3 -1
- data/lib/roro/cli.rb +16 -74
- data/lib/roro/cli/generate/exposed.rb +14 -0
- data/lib/roro/cli/generate/{generate_keys.rb → keys.rb} +24 -2
- data/lib/roro/cli/generate/obfuscated.rb +17 -0
- data/lib/roro/cli/generate/story.rb +18 -0
- data/lib/roro/cli/greenfield/rails.rb +14 -0
- data/lib/roro/cli/rollon.rb +126 -63
- data/lib/roro/cli/rollon/rails/base/base.rb +4 -0
- data/lib/roro/cli/{base → rollon/rails/base}/insert_gems.rb +2 -10
- data/lib/roro/cli/{base → rollon/rails/base}/insertions.rb +8 -0
- data/lib/roro/cli/rollon/rails/database.rb +26 -0
- data/lib/roro/cli/rollon/{stories/rails → rails}/database/with_mysql.rb +4 -4
- data/lib/roro/cli/rollon/{stories/rails → rails}/database/with_postgresql.rb +5 -6
- data/lib/roro/cli/rollon/ruby_gem.rb +1 -0
- data/lib/roro/cli/rollon/{stories/ruby_gem → ruby_gem}/with_ci_cd.rb +8 -8
- data/lib/roro/cli/rollon/stories.rb +2 -2
- data/lib/roro/configurator.rb +15 -0
- data/lib/roro/configurator/eligibility.rb +137 -0
- data/lib/roro/configurator/okonomi.rb +28 -0
- data/lib/roro/configurator/omakase.rb +170 -0
- data/lib/roro/crypto.rb +73 -0
- data/lib/roro/stories/greenfield.yml +1 -0
- data/lib/roro/stories/greenfield/rails.yml +9 -0
- data/lib/roro/stories/rollon.yml +42 -0
- data/lib/roro/stories/rollon/rails.yml +76 -0
- data/lib/roro/stories/rollon/rails/ci_cd.yml +1 -0
- data/lib/roro/stories/rollon/rails/ci_cd/circleci.yml +2 -0
- data/lib/roro/stories/rollon/rails/database.yml +9 -0
- data/lib/roro/stories/rollon/rails/database/mysql.yml +17 -0
- data/lib/roro/stories/rollon/rails/database/postgresql.yml +15 -0
- data/lib/roro/stories/rollon/rails/kubernetes.yml +1 -0
- data/lib/roro/stories/rollon/rails/kubernetes/postgresql.yml +10 -0
- data/lib/roro/stories/rollon/rails/kubernetes/postgresql/default.yml +1 -0
- data/lib/roro/stories/rollon/rails/kubernetes/postgresql/edge.yml +1 -0
- data/lib/roro/stories/rollon/ruby_gem.yml +5 -0
- data/lib/roro/templates/base/.circleci/_aliases.yml +8 -0
- data/lib/roro/templates/base/.circleci/_commands.yml +31 -0
- data/lib/roro/templates/base/.circleci/_defaults.yml +5 -0
- data/lib/roro/templates/base/.circleci/_executors.yml +11 -0
- data/lib/roro/templates/base/.circleci/_major_only.yml +4 -0
- data/lib/roro/templates/base/.circleci/_version.yml +1 -0
- data/lib/roro/templates/base/.circleci/_workflow.yml +2 -0
- data/lib/roro/templates/base/.circleci/config.job-example.yml +33 -0
- data/lib/roro/templates/base/.circleci/jobs/_build.yml +4 -0
- data/lib/roro/templates/base/.circleci/jobs/_release.yml +12 -0
- data/lib/roro/templates/base/.circleci/workflows/_build_release.yml +10 -0
- data/lib/roro/{cli/templates → templates}/base/.dockerignore +0 -0
- data/lib/roro/templates/base/dotenv +1 -0
- data/lib/roro/{cli/rollon/stories/rails → templates/base/jumpstart}/.keep +0 -0
- data/lib/roro/{cli/templates → templates/base}/jumpstart/Dockerfile.tt +0 -0
- data/lib/roro/{cli/templates → templates/base}/jumpstart/docker-compose.yml +0 -0
- data/lib/roro/{cli/templates → templates/base}/jumpstart/docker-entrypoint.sh +0 -0
- data/lib/roro/{cli/templates → templates/base}/livereload/hosts.example +0 -0
- data/lib/roro/{cli/templates/base → templates/base/roro}/.keep +0 -0
- data/lib/roro/{cli/templates/jumpstart → templates/base/roro/roro}/.keep +0 -0
- data/lib/roro/{cli/templates/roro → templates/base/roro/roro/containers}/.keep +0 -0
- data/lib/roro/{cli/templates/roro/roro → templates/base/roro/roro/containers/app}/.keep +0 -0
- data/lib/roro/{cli/templates/roro/roro/containers → templates/base/roro/roro/containers/frontend}/.keep +0 -0
- data/lib/roro/{cli/templates → templates/base}/roro/roro/docker-entrypoint.sh.tt +0 -0
- data/lib/roro/{cli/templates/roro/roro/containers/app → templates/rails/.circleci}/.keep +0 -0
- data/lib/roro/templates/rails/.circleci/config.yml.tt +11 -0
- data/lib/roro/templates/rails/.circleci/jobs/_build.yml +14 -0
- data/lib/roro/templates/rails/.circleci/jobs/_push.yml +11 -0
- data/lib/roro/templates/rails/.circleci/jobs/_test.yml +12 -0
- data/lib/roro/{cli/templates/ruby_gem → templates/rails}/.circleci/setup-gem-credentials.sh +0 -0
- data/lib/roro/templates/rails/.circleci/workflows/_build_test_push.yml +12 -0
- data/lib/roro/{cli/templates/roro/roro/containers/frontend → templates/rails}/.keep +0 -0
- data/lib/roro/templates/rails/Dockerfile.greenfield.tt +51 -0
- data/lib/roro/{cli/templates/base → templates/rails}/config/database.mysql.yml +0 -0
- data/lib/roro/{cli/templates/base → templates/rails}/config/database.pg.yml +2 -3
- data/lib/roro/templates/rails/database/with_mysql/_service.yml +10 -0
- data/lib/roro/{cli/templates/ruby_gem/.circleci → templates/rails/database/with_postgresql}/.keep +0 -0
- data/lib/roro/templates/rails/database/with_postgresql/_service.yml +7 -0
- data/lib/roro/{cli/templates/roro → templates/rails}/docker-compose.yml.tt +9 -10
- data/lib/roro/{cli/templates/ruby_gem/roro/containers → templates/rails/dotenv}/.keep +0 -0
- data/lib/roro/templates/rails/dotenv/database.mysql.env.tt +6 -0
- data/lib/roro/templates/rails/dotenv/database.pg.env.tt +4 -0
- data/lib/roro/templates/rails/dotenv/web.env.tt +2 -0
- data/lib/roro/templates/rails/kube.rake.tt +114 -0
- data/lib/roro/{cli/templates/ruby_gem/roro/keys → templates/rails/roro}/.keep +0 -0
- data/lib/roro/{cli/templates/stories → templates/rails/roro/containers}/.keep +0 -0
- data/lib/roro/{cli/templates/stories/rails/database/with_postgresql → templates/rails/roro/containers/app}/.keep +0 -0
- data/lib/roro/templates/rails/roro/containers/app/Dockerfile.tt +34 -0
- data/lib/roro/{cli/templates/stories/with_postgresql → templates/rails/roro/containers/frontend}/.keep +0 -0
- data/lib/roro/templates/rails/roro/docker-entrypoint.sh +8 -0
- data/lib/roro/{cli/rollon/stories/database.rb → templates/rails/roro/kube/.keep} +0 -0
- data/lib/roro/templates/rails/roro/kube/certificate.yml.tt +0 -0
- data/lib/roro/templates/rails/roro/kube/cluster-issuer.yml.tt +0 -0
- data/lib/roro/templates/rails/roro/kube/deployment.yml.tt +50 -0
- data/lib/roro/templates/rails/roro/kube/deployments/postgres_deploy.yaml +47 -0
- data/lib/roro/templates/rails/roro/kube/deployments/rails_deploy.yaml +62 -0
- data/lib/roro/templates/rails/roro/kube/deployments/redis_deploy.yaml +23 -0
- data/lib/roro/templates/rails/roro/kube/deployments/sidekiq_deploy.yaml +56 -0
- data/lib/roro/templates/rails/roro/kube/ingress.yml.tt +0 -0
- data/lib/roro/templates/rails/roro/kube/ingresses/ingress.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/job-migrate.yml.tt +0 -0
- data/lib/roro/templates/rails/roro/kube/jobs/setup.yaml +42 -0
- data/lib/roro/templates/rails/roro/kube/secret-digital-ocean.yml.tt +4 -0
- data/lib/roro/templates/rails/roro/kube/service.yml.tt +10 -0
- data/lib/roro/templates/rails/roro/kube/services/postgres_svc.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/services/rails_svc.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/services/redis_svc.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/volumes/postgres_volumes.yaml +25 -0
- data/lib/roro/templates/ruby_gem/.circleci/.keep +0 -0
- data/lib/roro/templates/ruby_gem/.circleci/config.yml.tt +16 -0
- data/lib/roro/templates/ruby_gem/.circleci/jobs/_test.yml +4 -0
- data/lib/roro/templates/ruby_gem/.circleci/setup-gem-credentials.sh +3 -0
- data/lib/roro/{cli/templates → templates}/ruby_gem/docker-compose.yml +0 -0
- data/lib/roro/templates/ruby_gem/roro/containers/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +1 -1
- data/lib/roro/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +1 -0
- data/lib/roro/templates/ruby_gem/roro/keys/.keep +0 -0
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +11 -21
- data/roro/containers/app/Dockerfile +51 -0
- metadata +165 -173
- data/lib/roro/cli/base/base.rb +0 -8
- data/lib/roro/cli/base/base_files.rb +0 -24
- data/lib/roro/cli/base/check_dependencies.rb +0 -98
- data/lib/roro/cli/base/continuous_integration.rb +0 -13
- data/lib/roro/cli/base/utilities.rb +0 -39
- data/lib/roro/cli/cli.rb +0 -99
- data/lib/roro/cli/configuration.rb +0 -69
- data/lib/roro/cli/expose.rb +0 -14
- data/lib/roro/cli/generate/config.rb +0 -13
- data/lib/roro/cli/generate/config/rails.rb +0 -17
- 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/rails/database.rb +0 -33
- data/lib/roro/cli/rollon/stories/ruby_gem.rb +0 -77
- data/lib/roro/cli/rollon/stories/stories.rb +0 -3
- data/lib/roro/cli/roro_configurator.yml +0 -157
- data/lib/roro/cli/ruby_gem.rb +0 -67
- data/lib/roro/cli/templates/base/.roro_config.yml +0 -15
- data/lib/roro/cli/templates/base/Dockerfile.tt +0 -82
- data/lib/roro/cli/templates/greenfield/Dockerfile.tt +0 -43
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt +0 -40
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +0 -1
- data/lib/roro/cli/templates/stories/rails/database/with_mysql/_service.yml +0 -10
- data/lib/roro/cli/templates/stories/rails/database/with_postgresql/_service.yml +0 -7
- data/lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml +0 -11
- data/lib/roro/cli/templates/stories/with_mysql/_service.yml +0 -10
- data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +0 -7
- data/lib/tasks/deploy.rake +0 -126
- 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/activesupport-6.0.3.2.gem +0 -0
- data/vendor/cache/addressable-2.7.0.gem +0 -0
- data/vendor/cache/builder-3.2.4.gem +0 -0
- data/vendor/cache/byebug-11.1.3.gem +0 -0
- data/vendor/cache/coderay-1.1.3.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.7.gem +0 -0
- data/vendor/cache/crass-1.0.6.gem +0 -0
- data/vendor/cache/em-websocket-0.5.1.gem +0 -0
- data/vendor/cache/erubi-1.9.0.gem +0 -0
- data/vendor/cache/eventmachine-1.2.7.gem +0 -0
- data/vendor/cache/ffi-1.13.1.gem +0 -0
- data/vendor/cache/formatador-0.2.5.gem +0 -0
- data/vendor/cache/gem-release-2.1.1.gem +0 -0
- data/vendor/cache/given_core-3.8.0.gem +0 -0
- data/vendor/cache/guard-2.16.2.gem +0 -0
- data/vendor/cache/guard-compat-1.2.1.gem +0 -0
- data/vendor/cache/guard-livereload-2.5.2.gem +0 -0
- data/vendor/cache/guard-minitest-2.4.6.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/http_parser.rb-0.6.0.gem +0 -0
- data/vendor/cache/i18n-1.8.5.gem +0 -0
- data/vendor/cache/launchy-2.5.0.gem +0 -0
- data/vendor/cache/listen-3.2.1.gem +0 -0
- data/vendor/cache/loofah-2.6.0.gem +0 -0
- data/vendor/cache/lumberjack-1.2.7.gem +0 -0
- data/vendor/cache/method_source-1.0.0.gem +0 -0
- data/vendor/cache/mini_portile2-2.4.0.gem +0 -0
- data/vendor/cache/minitest-5.14.1.gem +0 -0
- data/vendor/cache/minitest-given-3.8.0.gem +0 -0
- data/vendor/cache/minitest-matchers_vaccine-1.0.4.gem +0 -0
- data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
- data/vendor/cache/mocha-1.11.2.gem +0 -0
- data/vendor/cache/multi_json-1.15.0.gem +0 -0
- data/vendor/cache/nenv-0.3.0.gem +0 -0
- data/vendor/cache/net-scp-3.0.0.gem +0 -0
- data/vendor/cache/net-ssh-6.1.0.gem +0 -0
- data/vendor/cache/nokogiri-1.10.10.gem +0 -0
- data/vendor/cache/notiffany-0.1.3.gem +0 -0
- data/vendor/cache/os-1.0.0.gem +0 -0
- data/vendor/cache/pry-0.13.1.gem +0 -0
- data/vendor/cache/public_suffix-4.0.5.gem +0 -0
- data/vendor/cache/rack-2.2.3.gem +0 -0
- data/vendor/cache/rack-livereload-0.3.17.gem +0 -0
- data/vendor/cache/rack-test-1.1.0.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/rake-13.0.1.gem +0 -0
- data/vendor/cache/rb-fsevent-0.10.4.gem +0 -0
- data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
- data/vendor/cache/shellany-0.0.1.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
- data/vendor/cache/sorcerer-2.0.1.gem +0 -0
- data/vendor/cache/sshkit-1.18.2.gem +0 -0
- data/vendor/cache/thor-1.0.1.gem +0 -0
- data/vendor/cache/thread_safe-0.3.6.gem +0 -0
- data/vendor/cache/tzinfo-1.2.7.gem +0 -0
- data/vendor/cache/zeitwerk-2.4.0.gem +0 -0
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
FROM ruby:<%= config['ruby_version'] %> AS builder
|
|
2
|
-
|
|
3
|
-
## Make sure we have yarn properly sourced:
|
|
4
|
-
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
|
5
|
-
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
|
6
|
-
|
|
7
|
-
## Update OS and download yarm from source specified above:
|
|
8
|
-
RUN apt-get update -qq && apt-get install -y build-essential git nodejs yarn
|
|
9
|
-
|
|
10
|
-
## Set up our workspace directories:
|
|
11
|
-
ENV APP_HOME /usr/src/app/
|
|
12
|
-
RUN mkdir ${APP_HOME}
|
|
13
|
-
|
|
14
|
-
## Tell bundler where to store downloaded gems:
|
|
15
|
-
ENV BUNDLE_PATH /gems
|
|
16
|
-
RUN mkdir ${BUNDLE_PATH}}
|
|
17
|
-
|
|
18
|
-
## Tell Docker to create volumes for our workspace and gems
|
|
19
|
-
## so other containers can access them.
|
|
20
|
-
VOLUME ${APP_HOME}
|
|
21
|
-
VOLUME /gems
|
|
22
|
-
|
|
23
|
-
## Create a Gemfile with just the Rails gem inside:
|
|
24
|
-
RUN echo "source 'https://rubygems.org'\ngem 'rails'" > Gemfile
|
|
25
|
-
|
|
26
|
-
## Bundle to install rails:
|
|
27
|
-
|
|
28
|
-
## Switch to the the work directory from container root:
|
|
29
|
-
WORKDIR ${APP_HOME}
|
|
30
|
-
|
|
31
|
-
RUN bundle install
|
|
32
|
-
## Use Rails to generate a new app. We'll configure it later.
|
|
33
|
-
RUN bundle exec rails new . --skip-webpack-install --skip-bundle
|
|
34
|
-
|
|
35
|
-
## Tell docker not to create a layer:
|
|
36
|
-
FROM scratch AS export-stage
|
|
37
|
-
|
|
38
|
-
## Copy the generated files onto the host. Note that because we are in a
|
|
39
|
-
## new container, we don't have access to the previous ${APP_HOME}
|
|
40
|
-
## variable and so we must hard code it as our source:
|
|
41
|
-
COPY --from=builder /usr/src/app/ .
|
|
42
|
-
|
|
43
|
-
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
version: 2.1
|
|
2
|
-
|
|
3
|
-
jobs:
|
|
4
|
-
|
|
5
|
-
build:
|
|
6
|
-
machine: true
|
|
7
|
-
steps:
|
|
8
|
-
- checkout
|
|
9
|
-
|
|
10
|
-
test:
|
|
11
|
-
machine: true
|
|
12
|
-
steps:
|
|
13
|
-
- placeholder
|
|
14
|
-
|
|
15
|
-
release:
|
|
16
|
-
machine: true
|
|
17
|
-
steps:
|
|
18
|
-
- checkout
|
|
19
|
-
- run: gem install roro
|
|
20
|
-
- run: roro generate::exposed ci
|
|
21
|
-
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
|
22
|
-
- run: chmod +x ./.circleci/setup-gem-credentials.sh
|
|
23
|
-
- run: ./.circleci/setup-gem-credentials.sh
|
|
24
|
-
- run: cat ~/.gem/credentials
|
|
25
|
-
- run: git checkout .
|
|
26
|
-
- run: gem release
|
|
27
|
-
|
|
28
|
-
workflows:
|
|
29
|
-
version: 2
|
|
30
|
-
|
|
31
|
-
build-release:
|
|
32
|
-
jobs:
|
|
33
|
-
- build
|
|
34
|
-
- test
|
|
35
|
-
- release:
|
|
36
|
-
requires:
|
|
37
|
-
- build
|
|
38
|
-
filters:
|
|
39
|
-
branches:
|
|
40
|
-
only: release
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export RUBYGEMS_API_KEY=<%= config['rubygems_api_key'] %>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
build:
|
|
2
|
-
machine: true
|
|
3
|
-
steps:
|
|
4
|
-
- checkout
|
|
5
|
-
|
|
6
|
-
<%= 'getsome' %>
|
|
7
|
-
- run: gem install roro
|
|
8
|
-
- run: roro generate::exposed ci
|
|
9
|
-
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
|
10
|
-
- run: gem install gem-release
|
|
11
|
-
# - run: gem release --key $RUBYGEMS_API_KEY
|
data/lib/tasks/deploy.rake
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# use SSHKit directly instead of Capistrano
|
|
2
|
-
require 'sshkit'
|
|
3
|
-
require 'sshkit/dsl'
|
|
4
|
-
include SSHKit::DSL
|
|
5
|
-
|
|
6
|
-
deploy_tag = ENV['DEPLOY_TAG']
|
|
7
|
-
hostname = ENV['SERVER_HOST']
|
|
8
|
-
user = ENV['SERVER_USER']
|
|
9
|
-
dockerhub_user = ENV['DOCKERHUB_USER']
|
|
10
|
-
dockerhub_pass = ENV['DOCKERHUB_PASS']
|
|
11
|
-
dockerhub_org = ENV['DOCKERHUB_ORG']
|
|
12
|
-
port = ENV['SERVER_PORT']
|
|
13
|
-
deploy_env = ENV['DEPLOY_ENV'] || :production
|
|
14
|
-
deploy_path = ENV['APP_NAME']
|
|
15
|
-
|
|
16
|
-
server = SSHKit::Host.new(hostname: hostname, port: port, user: user)
|
|
17
|
-
|
|
18
|
-
namespace :deploy do
|
|
19
|
-
|
|
20
|
-
desc 'copy to server files needed to run and manage Docker containers'
|
|
21
|
-
task :configs do
|
|
22
|
-
|
|
23
|
-
on server do
|
|
24
|
-
within deploy_path do
|
|
25
|
-
upload! File.expand_path('../../docker/overrides/production.docker-compose.yml', __dir__), 'docker-compose.yml'
|
|
26
|
-
upload! File.expand_path('../../docker', __dir__), '.', recursive: true
|
|
27
|
-
execute 'apt', 'install', 'ruby'
|
|
28
|
-
execute 'gem', 'install', 'handsome_fencer-circle_c_i'
|
|
29
|
-
execute 'handsome_fencer-circle_c_i', 'expose', 'production'
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
desc 'copy production key to server'
|
|
35
|
-
task :production_key do
|
|
36
|
-
|
|
37
|
-
on server do
|
|
38
|
-
within deploy_path do
|
|
39
|
-
|
|
40
|
-
upload! '.circleci/keys/production.key', '.circleci/keys/production.key'
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
desc 'expose production environment'
|
|
46
|
-
task :expose_production_environment do
|
|
47
|
-
|
|
48
|
-
on server do
|
|
49
|
-
within deploy_path do
|
|
50
|
-
|
|
51
|
-
execute 'apt', 'install', 'ruby'
|
|
52
|
-
execute 'gem', 'install', 'handsome_fencer-circle_c_i'
|
|
53
|
-
execute 'handsome_fencer-circle_c_i', 'expose', 'production'
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
namespace :docker do
|
|
61
|
-
|
|
62
|
-
desc 'logs into Docker Hub for pushing and pulling'
|
|
63
|
-
|
|
64
|
-
task :login do
|
|
65
|
-
on server do
|
|
66
|
-
execute "mkdir -p #{deploy_path}"
|
|
67
|
-
within deploy_path do
|
|
68
|
-
execute 'docker', 'login', '-u', dockerhub_user, '-p', dockerhub_pass
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
desc 'stops all Docker containers via Docker Compose'
|
|
74
|
-
|
|
75
|
-
task stop: 'deploy:configs' do
|
|
76
|
-
on server do
|
|
77
|
-
within deploy_path do
|
|
78
|
-
with rails_env: deploy_env, deploy_tag: deploy_tag do
|
|
79
|
-
execute 'docker-compose', 'stop'
|
|
80
|
-
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
desc 'starts all Docker containers via Docker Compose'
|
|
87
|
-
|
|
88
|
-
task start: 'deploy:configs' do
|
|
89
|
-
on server do
|
|
90
|
-
within deploy_path do
|
|
91
|
-
with rails_env: deploy_env, deploy_tag: deploy_tag do
|
|
92
|
-
execute 'docker-compose', 'up', '-d'
|
|
93
|
-
execute 'echo', deploy_tag , '>', 'deploy.tag'
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
desc 'pulls images from Docker Hub'
|
|
100
|
-
|
|
101
|
-
task pull: 'docker:login' do
|
|
102
|
-
on server do
|
|
103
|
-
within deploy_path do
|
|
104
|
-
["#{deploy_path}_app", "#{deploy_path}_web"].each do |image_name|
|
|
105
|
-
execute 'docker', 'pull', "#{dockerhub_org}/#{image_name}:#{deploy_tag}"
|
|
106
|
-
end
|
|
107
|
-
execute 'docker', 'pull', 'postgres:9.4.5'
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
desc 'runs database migrations in application container via Docker Compose'
|
|
114
|
-
task migrate: 'deploy:configs' do
|
|
115
|
-
on server do
|
|
116
|
-
within deploy_path do
|
|
117
|
-
with rails_env: deploy_env, deploy_tag: deploy_tag do
|
|
118
|
-
execute 'docker-compose', 'run', 'app', "bin/rails", 'db:create', 'db:migrate'
|
|
119
|
-
end
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
desc 'pulls images, stops old containers, updates the database, and starts new containers'
|
|
125
|
-
task deploy: %w{docker:pull docker:stop docker:migrate docker:start }
|
|
126
|
-
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/ffi-1.13.1.gem
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/i18n-1.8.5.gem
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/nenv-0.3.0.gem
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/os-1.0.0.gem
DELETED
|
Binary file
|
data/vendor/cache/pry-0.13.1.gem
DELETED
|
Binary file
|
|
Binary file
|
data/vendor/cache/rack-2.2.3.gem
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/thor-1.0.1.gem
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|