Class: DockerGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- DockerGenerator
- Defined in:
- lib/generators/docker/docker_generator.rb
Instance Method Summary collapse
- #add_test_config_to_database ⇒ Object
- #create_docker_compose_files ⇒ Object
- #create_docker_file ⇒ Object
Instance Method Details
#add_test_config_to_database ⇒ Object
62 63 64 65 66 67 68 69 |
# 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 ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# 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 ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# 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 |