added Capistrano configuration

This commit is contained in:
Hauke Klement
2015-01-22 10:29:17 +01:00
parent e5d0ce2fbe
commit 41ed4c8f9f
3 changed files with 35 additions and 2 deletions

View File

@ -1,7 +1,7 @@
Code Ocean
==========
## Setup
## Development Setup
### Mandatory Steps
@ -12,11 +12,18 @@ Code Ocean
- create *config/secrets.yml*
- customize *config/docker.yml.erb*
Exemplary configuration files are available in the *config* directory.
In order to execute code submissions using Docker, source code files are written to the file system and are provided to a dedicated Docker container. These files are temporarily written to *Rails.root/tmp/files/*. Please make sure that *workspace_root* in *config/docker.yml.erb* corresponds to that directory or to a linked directory if using a remote Docker server.
### Optional Steps
- create *config/sendmail.yml*
- create *config/smtp.yml*
- if Docker is not supported by your OS, set up a local Docker server using [vagrant-docker](https://github.com/hklement/vagrant-docker)
- if Docker is not supported by your OS, set up a local Docker server, for instance using [vagrant-docker](https://github.com/hklement/vagrant-docker)
- create seed data by executing `rake db:seed`
## Production Setup
- create production configuration files (*database.production.yml*, …)
- customize *config/deploy/production.rb* if you want to deploy using [Capistrano](http://capistranorb.com/)

25
config/deploy.rb Normal file
View File

@ -0,0 +1,25 @@
# config valid only for Capistrano 3.1
lock '3.2.1'
set :application, 'code_ocean'
set :config_example_suffix, '.example'
set :deploy_to, '/var/www/app'
set :keep_releases, 3
set :linked_dirs, %w[bin log public/uploads tmp/cache tmp/files tmp/pids tmp/sockets]
set :linked_files, %w[config/action_mailer.yml config/database.yml config/secrets.yml config/sendmail.yml config/smtp.yml]
set :log_level, :info
set :puma_threads, [0, 16]
set :repo_url, 'git@github.com:openHPI/codeocean.git'
namespace :deploy do
before 'check:linked_files', 'config:push'
after :compile_assets, :copy_vendor_assets do
on roles(fetch(:assets_roles)) do
within release_path do
execute :cp, 'vendor/assets/images/*', 'public/assets/'
execute :cp, '-r', 'vendor/assets/javascripts/ace', 'public/assets/'
end
end
end
end

View File

@ -0,0 +1 @@
server 'CHANGE_ME', roles: [:app, :db, :puma_nginx, :web], user: 'CHANGE_ME'