class DockerGenerator
Public Instance Methods
add_test_config_to_database()
click to toggle source
# File lib/generators/docker/docker_generator.rb, line 62 def add_test_config_to_database inject_into_file 'config/database.yml', after: "test:\n" do <<-'RUBY' host: <%= ENV.fetch('DB_ADDRESS', 'localhost') %> username: <%= ENV.fetch('DB_USERNAME', '') %> password: <%= ENV.fetch('DB_PASSWORD', '') %> RUBY end end
create_docker_compose_files()
click to toggle source
# File lib/generators/docker/docker_generator.rb, line 4 def create_docker_compose_files create_file "docker-compose.test.yml", <<-FILE version: '2' services: web: build: context: . dockerfile: ./Dockerfile environment: APP_DOMAIN: web GERGICH_KEY: "${GERGICH_KEY}" GERRIT_PROJECT: "${GERRIT_PROJECT}" GERRIT_HOST: "${GERRIT_HOST}" GERRIT_BRANCH: "${GERRIT_BRANCH}" DB_USERNAME: postgres DB_PASSWORD: #{file_name.underscore}_postgres_password DB_ADDRESS: postgres links: - postgres volumes: - '.git:/usr/src/app/.git' - "coverage:/usr/src/app/coverage" postgres: image: postgres:10.1 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: #{file_name.underscore}_postgres_password volumes: coverage: {} FILE end
create_docker_file()
click to toggle source
# File lib/generators/docker/docker_generator.rb, line 40 def create_docker_file create_file "Dockerfile", <<-FILE FROM ruby:2.4.3 RUN apt-get update RUN curl -sL https://deb.nodesource.com/setup_7.x | bash - && apt-get install -y nodejs RUN mkdir -p /usr/src/app ADD Gemfile /usr/src/app/ ADD Gemfile.lock /usr/src/app/ ADD package.json /usr/src/app/ WORKDIR /usr/src/app ENV RAILS_ENV test RUN bundle install --system RUN npm install ADD . /usr/src/app/ FILE end