From bc42810a53af90da5f4299dd31831272103e8079 Mon Sep 17 00:00:00 2001 From: Lennard Wolf Date: Fri, 1 Apr 2016 16:03:09 +0200 Subject: [PATCH 1/3] updated README to a functioning state. --- README.md | 75 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index bf00f730..775a209e 100644 --- a/README.md +++ b/README.md @@ -4,52 +4,67 @@ This is the app running on https://api.travis-ci.org/ ## Requirements +You will need the following packages to get travis-api to work: + 1. PostgreSQL 9.3 or higher -1. Redis -1. RabbitMQ -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. +2. Bundler +3. Redis Server +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 ### Setup - - $ bundle install - +```sh-session +$ bundle install +``` ### 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. - -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`): +*You might need to create a role first. For this you should run the following:* ```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 +$ sudo -u postgres psql -c "CREATE USER yourusername WITH SUPERUSER PASSWORD 'yourpassword'" ``` -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 -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 +$ RAILS_ENV=development bundle exec rake db:create +$ RAILS_ENV=test bundle exec rake db:create +``` +#### Optional +Clone `travis-logs` and copy the `logs` database (assume the PostgreSQL user is `postgres`): +```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 - - $ rake spec - +```sh-session +$ bundle exec rspec +``` ### Run the server - - $ bundle exec script/server - +```sh-session +$ bundle exec script/server +``` ## Contributing 1. Fork it From c49819ca5274d14d19eea3c97b152faa717b66ee Mon Sep 17 00:00:00 2001 From: Steffen Date: Fri, 1 Apr 2016 16:22:29 +0200 Subject: [PATCH 2/3] add missing sudo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 775a209e..890a583d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ You will need the following packages to get travis-api to work: $ auto/configure --user=$USER $ make $ sudo make install - $ ln -s /usr/local/nginx/sbin/nginx /bin/nginx + $ sudo ln -s /usr/local/nginx/sbin/nginx /bin/nginx ``` ## Installation From 1b9b422753dbc3df29d16b594840cb1ddd72dd8b Mon Sep 17 00:00:00 2001 From: Steffen Date: Fri, 8 Apr 2016 09:55:32 +0200 Subject: [PATCH 3/3] remove text from code block --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 56e8af0c..4388b241 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ $ bundle exec rspec ```sh-session $ 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