fixed test and staging confusin in readme.

Please rename testregistry to registry-st in your .ssh/config
This commit is contained in:
Priit Tark 2014-12-22 14:18:08 +02:00
parent cef1f6f2b5
commit 885596d8d7
2 changed files with 105 additions and 104 deletions

207
README.md
View file

@ -3,10 +3,18 @@ Domain Registry
Full stack top-level domain (TLD) management. Full stack top-level domain (TLD) management.
* [Installation](https://github.com/internetee/registry#installation)
* [Testing](https://github.com/internetee/registry#testing)
* [Documentation](https://github.com/internetee/registry#documentation) * [Documentation](https://github.com/internetee/registry#documentation)
* [Installation](https://github.com/internetee/registry#installation)
* [Deployment](https://github.com/internetee/registry#deployment) * [Deployment](https://github.com/internetee/registry#deployment)
* [Autotesting](https://github.com/internetee/registry#autotesting)
Documentation
-------------
* [EPP request-response examples](https://github.com/internetee/registry/blob/master/doc/epp-doc.md)
* [Database diagram](https://github.com/internetee/registry/blob/master/doc/models_complete.svg)
* [Controllers diagram](https://github.com/internetee/registry/blob/master/doc/controllers_complete.svg)
Installation Installation
@ -103,16 +111,16 @@ Configuration on plain TCP EPP is as follows:
</IfModule> </IfModule>
``` ```
Note: Its best to go with two virtual hosts, one for test and one for dev, Note: Its best to go with two virtual hosts, one for autotest and one for dev,
then you don't have to worry about quitting then you don't have to worry about quitting
the dev appserver for running tests (because of colliding ports). the dev appserver for running autotests (because of colliding ports).
sudo a2ensite epp_ssl sudo a2ensite epp_ssl
sudo service apache2 restart sudo service apache2 restart
Try it out: Try it out:
Fire up your appserver on port 8989 (This setup is tested with Unicorn) Fire up your appserver on port 8989
cd $mod_epp cd $mod_epp
./epptelnet.pl localhost 701 -s ./epptelnet.pl localhost 701 -s
@ -151,8 +159,95 @@ Please follow WHOIS server readme:
https://github.com/internetee/whois https://github.com/internetee/whois
Testing
------- Deployment
----------
### System build
Officially Debian 7 is supported and tested.
You can use or find ideas how to build up production servers using
sysadmin tool [Babushka](https://github.com/benhoskings/babushka).
Unofficial build scripts locate at: https://github.com/priit/babushka-deps
Those scripts are not dedicated to Registry, but more focuse on general
Ruby on Rails application deployment in various situatians.
Quick overview. Use 'registry' for username and app name when asked.
# on server side
apt-get install curl
sh -c "`curl https://babushka.me/up`"
babushka priit:app_user
babushka priit:app
Please inspect those scripts before running anything,
they might not be complete or might have serious bugs. You are free to fork it.
Alternatively you can build up everything manually, required components:
* Consider using [RBENV](https://github.com/sstephenson/rbenv)
* Compile requried [ruby version](https://github.com/internetee/registry/blob/master/.ruby-version)
* [Phusion passenger](https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html)
* [Postgresql](http://www.postgresql.org/docs/)
Registry application is not tested with multi-threaded system (such as Puma) and
it's not officially supported. Please use multi-process system instead (Passenger, Unicorn, Mongrel)
We also recommend to investigate
[Passenger Optimization Guide](https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for proper configuration.
### Application build and update
For application deployment we are using faster [Mina](https://github.com/mina-deploy/mina)
instead of Capistrano.
All deploy code locates at config/deploy.rb file.
First add 'registry-st' and 'registry' to your .ssh/config file:
```
# staging
Host registry-st
HostName YOUR-SERVER-IP
User registry
# production
Host registry
HostName YOUR-SERVER-IP
User registry
```
Mina help and all mina commands:
mina -h
mina -T
Setup application directories for a new server:
mina setup # staging
mina pr setup # production
Deploy new code:
mina deploy # staging
mina pr deploy # production
Rollback to previous release:
mina rollback # staging
mina pr rollback # production
General rake and mina tips:
rake -T # list all rake commands
rake -T db # list all database related commands
mina -T # list all mina deploy commands
Autotesting
-----------
* Before running tests for the first time: `RAILS_ENV=test rake db:seed` * Before running tests for the first time: `RAILS_ENV=test rake db:seed`
* Run tests: `rake` * Run tests: `rake`
@ -164,9 +259,9 @@ To see internal errors while testing EPP
unicorn -E test -p 8989 unicorn -E test -p 8989
rake spec:epp rake spec:epp
### Apache mod_epp testing/debugging ### Apache mod_epp autotesting/debugging
Testing Apache mod_epp without Registry app. Autotesting Apache mod_epp without Registry app.
sudo apt-get install apache2-dbg sudo apt-get install apache2-dbg
@ -219,97 +314,3 @@ This needs a static greeting file, so you will have to make /var/www writable.
mkdir epp mkdir epp
Copy the files from $mod_epp/examples/cgis to /usr/lib/cgi-bin/epp Copy the files from $mod_epp/examples/cgis to /usr/lib/cgi-bin/epp
Documentation
-------------
* [EPP request-response examples](https://github.com/internetee/registry/blob/master/doc/epp-doc.md)
* [Database diagram](https://github.com/internetee/registry/blob/master/doc/models_complete.svg)
* [Controllers diagram](https://github.com/internetee/registry/blob/master/doc/controllers_complete.svg)
Deployment
----------
### System build
Officially Debian 7 is supported and tested.
You can use or find ideas how to build up production servers using
sysadmin tool [Babushka](https://github.com/benhoskings/babushka).
Unofficial build scripts locate at: https://github.com/priit/babushka-deps
Those scripts are not dedicated to Registry, but more focuse on general
Ruby on Rails application deployment in various situatians.
Quick overview. Use 'registry' for username and app name when asked.
# on server side
apt-get install curl
sh -c "`curl https://babushka.me/up`"
babushka priit:app_user
babushka priit:app
Please inspect those scripts before running anything,
they might not be complete or might have serious bugs. You are free to fork it.
Alternatively you can build up everything manually, required components:
* Consider using [RBENV](https://github.com/sstephenson/rbenv)
* Compile requried [ruby version](https://github.com/internetee/registry/blob/master/.ruby-version)
* [Phusion passenger](https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html)
* [Postgresql](http://www.postgresql.org/docs/)
Registry application is not tested with multi-threaded system (such as Puma) and
it's not officially supported. Please use multi-process system instead (Passenger, Unicorn, Mongrel)
We also recommend to investigate
[Passenger Optimization Guide](https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for proper configuration.
### Application build and update
For application deployment we are using faster [Mina](https://github.com/mina-deploy/mina)
instead of Capistrano.
All deploy code locates at config/deploy.rb file.
First add 'testregistry' and 'registry' to your .ssh/config file:
```
# staging
Host testregistry
HostName YOUR-SERVER-IP
User registry
# production
Host registry
HostName YOUR-SERVER-IP
User registry
```
Mina help and all mina commands:
mina -h
mina -T
Setup application directories for a new server:
mina setup # staging
mina pr setup # production
Deploy new code:
mina deploy # staging
mina pr deploy # production
Rollback to previous release:
mina rollback # staging
mina pr rollback # production
General rake and mina tips:
rake -T # list all rake commands
rake -T db # list all database related commands
mina -T # list all mina deploy commands

View file

@ -11,7 +11,7 @@ require 'mina/whenever'
# repository - Git repo to clone from. (needed by mina/git) # repository - Git repo to clone from. (needed by mina/git)
# branch - Branch name to deploy. (needed by mina/git) # branch - Branch name to deploy. (needed by mina/git)
set :domain, 'testregistry' set :domain, 'registry-st'
set :deploy_to, '/home/app/registry' set :deploy_to, '/home/app/registry'
set :repository, 'https://github.com/internetee/registry' set :repository, 'https://github.com/internetee/registry'
set :branch, 'master' set :branch, 'master'