commit
72c204883f
80
README.md
80
README.md
|
@ -4,52 +4,68 @@ 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
|
||||||
|
$ sudo ln -s /usr/local/nginx/sbin/nginx /bin/nginx
|
||||||
|
```
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
|
```sh-session
|
||||||
$ bundle install
|
$ bundle install
|
||||||
|
```
|
||||||
### Database setup
|
### Database setup
|
||||||
|
|
||||||
|
*You might need to create a role first. For this you should run the following:*
|
||||||
|
```sh-session
|
||||||
|
$ sudo -u postgres psql -c "CREATE USER yourusername WITH SUPERUSER PASSWORD 'yourpassword'"
|
||||||
|
```
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
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 ..
|
$ RAILS_ENV=development bundle exec rake db:create
|
||||||
git clone https://github.com/travis-ci/travis-logs.git
|
$ RAILS_ENV=test bundle exec rake db:create
|
||||||
cd travis-logs
|
```
|
||||||
rvm jruby do bundle exec rake db:migrate # `travis-logs` requires JRuby
|
#### Optional
|
||||||
psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_development
|
Clone `travis-logs` and copy the `logs` database (assume the PostgreSQL user is `postgres`):
|
||||||
pg_dump -t logs travis_logs_development | psql -U postgres travis_development
|
```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
|
||||||
```
|
```
|
||||||
|
|
||||||
Repeat the database steps for `RAILS_ENV=test`.
|
|
||||||
```sh-session
|
|
||||||
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
|
||||||
$ bundle exec spec
|
$ bundle exec rspec
|
||||||
|
```
|
||||||
### Run the server
|
### Run the server
|
||||||
|
```sh-session
|
||||||
$ bundle exec script/server
|
$ bundle exec script/server
|
||||||
|
```
|
||||||
If you have problems with Nginx because the websocket is already in use, try restarting your computer.
|
If you have problems with Nginx because the websocket is already in use, try restarting your computer.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user