Added Dockerfile with some small updates

This commit is contained in:
Priit Tamboom 2014-09-08 16:07:09 +03:00
parent 6f3d3c849a
commit 7121eb5ae6
7 changed files with 81 additions and 40 deletions

0
.dockerignore Normal file
View file

32
Dockerfile Normal file
View file

@ -0,0 +1,32 @@
FROM gitlab/registry
MAINTAINER Gitlab <info@gitlab.eu>
# 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

18
Gemfile
View file

@ -76,7 +76,7 @@ group :development do
gem 'guard-rubocop', '~> 1.1.0' gem 'guard-rubocop', '~> 1.1.0'
end end
group :development, :test do group :test do
gem 'capybara', '~> 2.4.1' gem 'capybara', '~> 2.4.1'
# For feature testing # For feature testing
# gem 'capybara-webkit', '1.2.0' # Webkit driver didn't work with turbolinks # 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 # For cleaning db in feature and epp tests
gem 'database_cleaner', '~> 1.3.0' gem 'database_cleaner', '~> 1.3.0'
# EPP client
gem 'epp', '~> 1.4.0'
# Replacement for fixtures # Replacement for fixtures
gem 'fabrication', '~> 2.11.3' gem 'fabrication', '~> 2.11.3'
# Library to generate fake data # Library to generate fake data
gem 'faker', '~> 1.3.0' gem 'faker', '~> 1.3.0'
# For debugging
gem 'pry', '~> 0.10.1'
gem 'pry-byebug', '~> 1.3.3'
# Testing framework # Testing framework
gem 'rspec-rails', '~> 3.0.2' gem 'rspec-rails', '~> 3.0.2'
# Additional matchers for RSpec # Additional matchers for RSpec
gem 'shoulda-matchers', '~> 2.6.1', require: false 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) # For unique IDs (used by the epp gem)
gem 'uuidtools', '~> 2.1.4' gem 'uuidtools', '~> 2.1.4'

View file

@ -3,13 +3,17 @@ default: &default
adapter: postgresql adapter: postgresql
encoding: unicode encoding: unicode
pool: 5 pool: 5
username: internetee username: registry
password: internetee_pwd password: registry_pwd
development: development:
<<: *default <<: *default
database: internetee_development database: registry_development
test: test:
<<: *default <<: *default
database: internetee_test database: registry_test
production:
<<: *default
database: registry_production

View file

@ -5,4 +5,4 @@ test:
secret_key_base: generate-your-secret-key-by-rake-secret secret_key_base: generate-your-secret-key-by-rake-secret
production: production:
secret_key_base: secret_key_base: please-change

1
doc/docker/authorized_keys Executable file
View file

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+n4Sln0oxme+9hyrgPud9k0C00Nm0T2YufHcQUAdtJssCfeKp2qo/gy0LmOXTB8efyavFn4NW2GZs8gxJ0BV5GoHLmnERAWDOi/wg3KLl4r/ei+HQX6Po/V7WOMHWzKPSSGtqW7cZc1g0y2ci571ZUmgEBoGoGPfoQToGEn2yV4hQmHIjbwtfNNCHx/i12DCoJnD+3cIvhHf4FbZRBW9Wu0I24iqLcxLOAwGWVsnzi0OqN+rj3DenPQfjcPhSsmTu+8mn2AIwMxWeLZSslEYfyBeo9dLBntj3dnxWpw/MJEfMmWgWKGqMaVGB731ZWDOrRrzgl5+s24YBv9LyYWyQ==

View file

@ -1,35 +1,37 @@
require 'rspec/core/rake_task' if Rails.env.test?
require 'open3' require 'rspec/core/rake_task'
require 'open3'
desc 'Run all specs against server' desc 'Run all specs against server'
task 'test' do task 'test' do
test_against_server { Rake::Task['spec'].invoke } test_against_server { Rake::Task['spec'].invoke }
end end
desc 'Run EPP specs against server' desc 'Run EPP specs against server'
task 'test:epp' do task 'test:epp' do
test_against_server { Rake::Task['spec:epp'].invoke } test_against_server { Rake::Task['spec:epp'].invoke }
end end
desc 'Run all but EPP specs' desc 'Run all but EPP specs'
RSpec::Core::RakeTask.new('test:other') do |t| RSpec::Core::RakeTask.new('test:other') do |t|
t.rspec_opts = '--tag ~epp' t.rspec_opts = '--tag ~epp'
end end
desc 'Run all but EPP specs' desc 'Run all but EPP specs'
RSpec::Core::RakeTask.new('test:all_but_features') do |t| RSpec::Core::RakeTask.new('test:all_but_features') do |t|
t.rspec_opts = '--tag ~feature' t.rspec_opts = '--tag ~feature'
end end
Rake::Task[:default].prerequisites.clear Rake::Task[:default].prerequisites.clear
task default: :test task default: :test
def test_against_server def test_against_server
stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989') stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989')
pid = wait_thr.pid pid = wait_thr.pid
begin begin
yield yield
ensure ensure
`kill #{pid}` `kill #{pid}`
end
end end
end end