From 7121eb5ae63754812cc1fc06e3fd70a5678703d4 Mon Sep 17 00:00:00 2001 From: Priit Tamboom Date: Mon, 8 Sep 2014 16:07:09 +0300 Subject: [PATCH] Added Dockerfile with some small updates --- .dockerignore | 0 Dockerfile | 32 +++++++++++++++++++++ Gemfile | 18 ++++++------ config/database-example.yml | 12 +++++--- config/secrets-example.yml | 2 +- doc/docker/authorized_keys | 1 + lib/tasks/test.rake | 56 +++++++++++++++++++------------------ 7 files changed, 81 insertions(+), 40 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100755 doc/docker/authorized_keys diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..e69de29bb diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..b80028347 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +FROM gitlab/registry +MAINTAINER Gitlab + +# Set correct environment variables. +ENV HOME /home/app + +# Use baseimage-docker's init process. +CMD ["/sbin/my_init"] + +# App +WORKDIR /home/app/registry +ADD . /home/app/registry +RUN bundle install --deployment + +# Setup nginx +# RUN rm /etc/nginx/sites-enabled/default +# ADD nginx.conf /etc/nginx/sites-enabled/webapp.conf +# RUN rm -f /etc/services/nginx/down + +# RUN rm /etc/nginx/sites-enabled/default +# ADD ./nginx.conf /etc/nginx/sites-enabled/webapp.conf +# RUN rm -f /etc/services/nginx/down + +# Clean up APT when done. +RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +## Install an SSH public keys +ADD ./doc/docker/authorized_keys /tmp/authorized_keys +RUN cat /tmp/authorized_keys > /root/.ssh/authorized_keys && rm -f /tmp/authorized_keys + +EXPOSE 80 +EXPOSE 700 diff --git a/Gemfile b/Gemfile index d09f42fd6..d74b2f615 100644 --- a/Gemfile +++ b/Gemfile @@ -76,7 +76,7 @@ group :development do gem 'guard-rubocop', '~> 1.1.0' end -group :development, :test do +group :test do gem 'capybara', '~> 2.4.1' # For feature testing # gem 'capybara-webkit', '1.2.0' # Webkit driver didn't work with turbolinks @@ -86,24 +86,26 @@ group :development, :test do # For cleaning db in feature and epp tests gem 'database_cleaner', '~> 1.3.0' - # EPP client - gem 'epp', '~> 1.4.0' - # Replacement for fixtures gem 'fabrication', '~> 2.11.3' # Library to generate fake data gem 'faker', '~> 1.3.0' - # For debugging - gem 'pry', '~> 0.10.1' - gem 'pry-byebug', '~> 1.3.3' - # Testing framework gem 'rspec-rails', '~> 3.0.2' # Additional matchers for RSpec gem 'shoulda-matchers', '~> 2.6.1', require: false +end + +group :development, :test do + # EPP client + gem 'epp', '~> 1.4.0' + + # For debugging + gem 'pry', '~> 0.10.1' + gem 'pry-byebug', '~> 1.3.3' # For unique IDs (used by the epp gem) gem 'uuidtools', '~> 2.1.4' diff --git a/config/database-example.yml b/config/database-example.yml index 25eeaee5e..37e52ad97 100644 --- a/config/database-example.yml +++ b/config/database-example.yml @@ -3,13 +3,17 @@ default: &default adapter: postgresql encoding: unicode pool: 5 - username: internetee - password: internetee_pwd + username: registry + password: registry_pwd development: <<: *default - database: internetee_development + database: registry_development test: <<: *default - database: internetee_test + database: registry_test + +production: + <<: *default + database: registry_production diff --git a/config/secrets-example.yml b/config/secrets-example.yml index 23fedbe66..9a2adfb5d 100644 --- a/config/secrets-example.yml +++ b/config/secrets-example.yml @@ -5,4 +5,4 @@ test: secret_key_base: generate-your-secret-key-by-rake-secret production: - secret_key_base: + secret_key_base: please-change diff --git a/doc/docker/authorized_keys b/doc/docker/authorized_keys new file mode 100755 index 000000000..99b1e455a --- /dev/null +++ b/doc/docker/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+n4Sln0oxme+9hyrgPud9k0C00Nm0T2YufHcQUAdtJssCfeKp2qo/gy0LmOXTB8efyavFn4NW2GZs8gxJ0BV5GoHLmnERAWDOi/wg3KLl4r/ei+HQX6Po/V7WOMHWzKPSSGtqW7cZc1g0y2ci571ZUmgEBoGoGPfoQToGEn2yV4hQmHIjbwtfNNCHx/i12DCoJnD+3cIvhHf4FbZRBW9Wu0I24iqLcxLOAwGWVsnzi0OqN+rj3DenPQfjcPhSsmTu+8mn2AIwMxWeLZSslEYfyBeo9dLBntj3dnxWpw/MJEfMmWgWKGqMaVGB731ZWDOrRrzgl5+s24YBv9LyYWyQ== diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake index cc4a71430..a5999a605 100644 --- a/lib/tasks/test.rake +++ b/lib/tasks/test.rake @@ -1,35 +1,37 @@ -require 'rspec/core/rake_task' -require 'open3' +if Rails.env.test? + require 'rspec/core/rake_task' + require 'open3' -desc 'Run all specs against server' -task 'test' do - test_against_server { Rake::Task['spec'].invoke } -end + desc 'Run all specs against server' + task 'test' do + test_against_server { Rake::Task['spec'].invoke } + end -desc 'Run EPP specs against server' -task 'test:epp' do - test_against_server { Rake::Task['spec:epp'].invoke } -end + desc 'Run EPP specs against server' + task 'test:epp' do + test_against_server { Rake::Task['spec:epp'].invoke } + end -desc 'Run all but EPP specs' -RSpec::Core::RakeTask.new('test:other') do |t| - t.rspec_opts = '--tag ~epp' -end + desc 'Run all but EPP specs' + RSpec::Core::RakeTask.new('test:other') do |t| + t.rspec_opts = '--tag ~epp' + end -desc 'Run all but EPP specs' -RSpec::Core::RakeTask.new('test:all_but_features') do |t| - t.rspec_opts = '--tag ~feature' -end + desc 'Run all but EPP specs' + RSpec::Core::RakeTask.new('test:all_but_features') do |t| + t.rspec_opts = '--tag ~feature' + end -Rake::Task[:default].prerequisites.clear -task default: :test + Rake::Task[:default].prerequisites.clear + task default: :test -def test_against_server - stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989') - pid = wait_thr.pid - begin - yield - ensure - `kill #{pid}` + def test_against_server + stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989') + pid = wait_thr.pid + begin + yield + ensure + `kill #{pid}` + end end end