class DockerRailsAppCreator
Constants
- ARCHIVE_TMP_FILE
Public Instance Methods
after_build(definiton)
click to toggle source
# File lib/support/docker_rails_app_creator.rb, line 52 def after_build(definiton) if (build_source == :current) stage_files_dir = docker_dir() + "/files" FileUtils.rm_f stage_files_dir end end
before_build(definition)
click to toggle source
# File lib/support/docker_rails_app_creator.rb, line 11 def before_build(definition) build_from_current_dir = true stage_files_dir = docker_dir() + "/files" FileUtils.rm_rf stage_files_dir FileUtils.mkdir_p stage_files_dir archive_file = ARCHIVE_TMP_FILE `rm -rf #{archive_file}` `tar -czf #{archive_file} --exclude=tmp/* --exclude .git --exclude "*.log" *` FileUtils.mv(archive_file, stage_files_dir) create_database_config_file(definition, stage_files_dir) end
create_database_config_file(definition, directory)
click to toggle source
# File lib/support/docker_rails_app_creator.rb, line 25 def create_database_config_file(definition, directory) db_host_name = definition['run']['name'] + "-db" File.open("#{directory}/database.yml", "w") do |file| content = " #This file generated by Docker Rails when building docker image production: adapter: mysql2 database: application_db pool: 5 timeout: 5000 host: #{db_host_name} port: 3306 user: root password: password persistence: :db " file.write(content) end end
docker_dir()
click to toggle source
# File lib/support/docker_rails_app_creator.rb, line 7 def docker_dir dir = definition['build']['docker_dir'] || "#{FileUtils.pwd}/docker" end
prepare_for_git_pull()
click to toggle source
# File lib/support/docker_rails_app_creator.rb, line 45 def prepare_for_git_pull ssh_staging_dir = stage_files_dir + "/ssh/" FileUtils.mkdir_p ssh_staging_dir FileUtils.cp "#{ENV['HOME']}/.ssh/id_rsa", ssh_staging_dir FileUtils.cp "#{ENV['HOME']}/.ssh/id_rsa.pub", ssh_staging_dir end