updated README to a functioning state.

This commit is contained in:
Lennard Wolf 2016-04-01 16:03:09 +02:00
parent 6e3577401e
commit bc42810a53

View File

@ -4,52 +4,67 @@ This is the app running on https://api.travis-ci.org/
## Requirements ## Requirements
You will need the following packages to get travis-api to work:
1. PostgreSQL 9.3 or higher 1. PostgreSQL 9.3 or higher
1. Redis 2. Bundler
1. RabbitMQ 3. Redis Server
1. Nginx *NB: If working on Ubuntu please install Nginx manually from source. [This guide](http://www.rackspace.com/knowledge_center/article/ubuntu-and-debian-installing-nginx-from-source) is helpful but make sure you install the [latest stable version](https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#stable), include the user name on your ubuntu machine when compiling (add `--user=[yourusername]` as an option when running `./configure`), and don't follow any subsequent server configuration steps. Travis-api will start and configure its own nginx server when run locally. 4. *Optional:* RabbitMQ Server
5. Nginx -
*If working in Ubuntu please install nginx manually from source: Download and extract latest nginx version, open a terminal in extracted folder and then run the following:*
```sh-session
$ sudo apt-get install libpcre3 libpcre3-dev
$ auto/configure --user=$USER
$ make
$ sudo make install
$ ln -s /usr/local/nginx/sbin/nginx /bin/nginx
```
## Installation ## Installation
### Setup ### Setup
```sh-session
$ bundle install $ bundle install
```
### Database setup ### Database setup
NB detail for how `rake` sets up the database can be found in the `Rakefile`. In the `namespace :db` block you will see the database name is configured using the environment variable RAILS_ENV. If you are using a different configuration you will have to make your own adjustments. *You might need to create a role first. For this you should run the following:*
1. `bundle exec rake db:create`
2. for testing 'RAILS_ENV=test bundle exec rake db:create --trace'
1. Clone `travis-logs` and copy the `logs` database (assume the PostgreSQL user is `postgres`):
```sh-session ```sh-session
cd .. $ sudo -u postgres psql -c "CREATE USER yourusername WITH SUPERUSER PASSWORD 'yourpassword'"
git clone https://github.com/travis-ci/travis-logs.git
cd travis-logs
rvm jruby do bundle exec rake db:migrate # `travis-logs` requires JRuby
psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_development
pg_dump -t logs travis_logs_development | psql -U postgres travis_development
``` ```
Repeat the database steps for `RAILS_ENV=test`. NB detail for how `rake` sets up the database can be found in the `Rakefile`. In the `namespace :db` block you will see the database name is configured using the environment variable RAILS_ENV. If you are using a different configuration you will have to make your own adjustments.
```sh-session ```sh-session
RAILS_ENV=test bundle exec rake db:create $ RAILS_ENV=development bundle exec rake db:create
pushd ../travis-logs $ RAILS_ENV=test bundle exec rake db:create
RAILS_ENV=test rvm jruby do bundle exec rake db:migrate ```
psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_test #### Optional
pg_dump -t logs travis_logs_test | psql -U postgres travis_test Clone `travis-logs` and copy the `logs` database (assume the PostgreSQL user is `postgres`):
popd ```sh-session
$ cd ..
$ git clone https://github.com/travis-ci/travis-logs.git
$ cd travis-logs
$ rvm jruby do bundle exec rake db:migrate # `travis-logs` requires JRuby
$ psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_development
$ pg_dump -t logs travis_logs_development | psql -U postgres travis_development
$ RAILS_ENV=test bundle exec rake db:create
$ pushd ../travis-logs
$ RAILS_ENV=test rvm jruby do bundle exec rake db:migrate
$ psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_test
$ pg_dump -t logs travis_logs_test | psql -U postgres travis_test
$ popd
``` ```
### Run tests ### Run tests
```sh-session
$ rake spec $ bundle exec rspec
```
### Run the server ### Run the server
```sh-session
$ bundle exec script/server $ bundle exec script/server
```
## Contributing ## Contributing
1. Fork it 1. Fork it