diff --git a/README.md b/README.md index 27162bfd7..2690b84a7 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ Frontend tools used include [SCSS](http://sass-lang.com/) over [Foundation](http ## Configuration for development and test environments +**NOTE**: For more detailed instructions check the [docs](https://github.com/consul/consul/tree/master/doc/en/dev_test_setup.md) + Prerequisites: install git, Ruby 2.2.3, bundler gem, ghostscript and PostgreSQL (>=9.4). ``` diff --git a/README_ES.md b/README_ES.md index d8c394680..6051f1343 100644 --- a/README_ES.md +++ b/README_ES.md @@ -23,6 +23,8 @@ Las herramientas utilizadas para el frontend no están cerradas aún. Los estilo ## Configuración para desarrollo y tests +**NOTA**: para unas instrucciones más detalladas consulta la [documentación](https://github.com/consul/consul/tree/master/doc/es/dev_test_setup.md) + Prerequisitos: tener instalado git, Ruby 2.2.3, la gema `bundler`, ghostscript y PostgreSQL (9.4 o superior). ``` diff --git a/doc/en/dev_test_setup.md b/doc/en/dev_test_setup.md new file mode 100644 index 000000000..7fc7c967e --- /dev/null +++ b/doc/en/dev_test_setup.md @@ -0,0 +1,9 @@ +# Configuration for development and test environments (Mac OS X) + +## Linux + +## Mac OS X + +See [here](dev_test_setup_osx.md) + +## Windows diff --git a/doc/en/dev_test_setup_osx.md b/doc/en/dev_test_setup_osx.md new file mode 100644 index 000000000..088082261 --- /dev/null +++ b/doc/en/dev_test_setup_osx.md @@ -0,0 +1,128 @@ +# Configuration for development and test environments (Mac OS X) + +## Homebrew + +Homebrew is a very popular package manager for OS X. It's advised to use it since it makes the installation of some of the dependencies much easier. + +You can find the installation instructions at: [brew.sh](http://brew.sh) + +## XCode and XCode Command Line Tools + +To install *git* you'll first need to install *Xcode* (download it from the Mac App Store) and its *Xcode Command Line Tools* (you can install them from the Xcode's app menu) + +## Git + +You can download git from: [git-scm.com/download/mac](https://git-scm.com/download/mac) + +## Ruby y rbenv + +OS X already comes with a preinstalled Ruby version, but it's quite old and we need a newer one (2.2.3). One of the multiple ways of installing Ruby in OS X is through *rbenv*. The installation instructions are in its GitHub repository and are pretty straight-forward: + +[github.com/rbenv/rbenv](https://github.com/rbenv/rbenv) + +## Bundler + +``` +gem install bundler +``` + +## PostgreSQL (>=9.4) + +``` +brew install postgres +``` + +Once installed, we need to *initialize* it: + +``` +initdb /usr/local/var/postgres +``` + +Now we're going to configure some things related to the *default user*. First we start postgres server with: + +``` +postgres -D /usr/local/var/postgres +``` + +At this point we're supposed to have postgres correctly installed and a default user will automatically be created (whose name will match our username). This user hasn't got a password yet. + +If we run `psql` we'll login into the postgres console with the default user. Probably it will fail since its required that a default database exists for that user. We can create it by typing: + +``` +createdb 'your_username' +``` + +If we run `psql` again we should now get access to postgres console. With `\du` you can see the current users list. + +In case you want to set a password for your user you can make it throught postgres console by: + +``` +ALTER USER your_username WITH PASSWORD 'your_password'; +``` + +Now we'll create the *consul* user, the one the application is using. Run in postgres console: + +``` +CREATE ROLE consul WITH PASSWORD '000'; +ALTER ROLE consul WITH SUPERUSER; +ALTER ROLE consul WITH login; +``` + +If at any point during PostgreSQL installation you feel you have messed things up, you can uninstall it and start again by running: + +``` +brew uninstall postgres +``` + +You'll have to delete also this directory (otherwise the new installation will generate conflicts, source: [gist.github.com/lxneng/741932](https://gist.github.com/lxneng/741932)): + +``` +rm -rf /usr/local/var/postgres +``` + +## Postgis + +``` +brew install postgis +``` + +## Ghostscript + +``` +brew install ghostscript +``` + +## PhantomJS + +``` +brew install phantomjs +``` + +## Cloning the repository + +Now that we have all the dependencies installed we can download the repository: + +``` +git clone https://github.com/consul/consul.git +cd consul +bundle install +cp config/database.yml.example config/database.yml +cp config/secrets.yml.example config/secrets.yml +``` + +Now copy in `database.yml` the database user and password you used for *consul*. + +After this: + +``` +rake db:create +rake db:setup +rake db:dev_seed +RAILS_ENV=test bin/rake db:setup +``` + +To run the tests: + +``` +bundle exec rspec +``` diff --git a/doc/es/dev_test_setup.md b/doc/es/dev_test_setup.md new file mode 100644 index 000000000..30f5d12d3 --- /dev/null +++ b/doc/es/dev_test_setup.md @@ -0,0 +1,9 @@ +# Configuración para los entornos de desarrollo y pruebas + +## Linux + +## Mac OS X + +Consultar [aquí](dev_test_setup_osx.md) + +## Windows diff --git a/doc/es/dev_test_setup_osx.md b/doc/es/dev_test_setup_osx.md new file mode 100644 index 000000000..840f15976 --- /dev/null +++ b/doc/es/dev_test_setup_osx.md @@ -0,0 +1,128 @@ +# Configuración para los entornos de desarrollo y pruebas (Mac OS X) + +## Homebrew + +Homebrew es un gestor de paquetes para OS X muy popular. Es recomendable usarlo pues facilita enormemente la instalación de algunos de los paquetes necesarios. + +Puedes encontrar las instrucciones de instalación en: [brew.sh](http://brew.sh) + +## XCode y XCode Command Line Tools + +Para utilizar git necesitarás instalar *Xcode* (está en la Mac App Store) y las *Xcode Command Line Tools* (se instalan desde el menú de Xcode). + +## Git y Github + +Puedes descargar git desde: [git-scm.com/download/mac](https://git-scm.com/download/mac) + +## Ruby y rbenv + +OS X ya viene con una versión preinstalada de ruby, pero es bastante vieja y en nuestro caso no nos sirve. Una de las formas de instalar Ruby es a través de rbenv. Las instrucciones de instalación están en su GitHub y son bastante claras: + +[github.com/rbenv/rbenv](https://github.com/rbenv/rbenv) + +Después instala la versión de Ruby 2.2.3 + +## Bundler + +``` +gem install bundler +``` + +## PostgreSQL (>=9.4) + +``` +brew install postgres +``` + +Una vez instalado es necesario *inicializar* la instalación: + +``` +initdb /usr/local/var/postgres +``` + +Ahora vamos a configurar algunos aspectos del usuario por defecto. Primero iniciamos el servidor de postgres con: + +``` +postgres -D /usr/local/var/postgres +``` + +Llegados a este punto se supone que tenemos postgres correctamente instalado y se nos habrá creado un usuario por defecto (cuyo nombre es nuestro nombre de usuario), y que (todavía) no tiene contraseña. + +Si ejecutamos `psql` accederemos a la consola de postgres con el usuario por defecto. Probablemente fallará porque es necesario que de antemano exista una base de datos por defecto para dicho usuario. Podemos crearla ejecutando sobre la terminal: + +``` +createdb 'tu_nombre_de_usuario' +``` + +Si ahora ejecutamos `psql` de nuevo deberíamos poder acceder correctamente a la consola de postgres. Si sobre la consola de postgres ejecutas `\du` puede ver la lista de usuarios actual. + +En el caso de que quieras asignarte una contraseña puedes hacerlo desde la consola de postgres con: + +``` +ALTER USER tu_nombre_usuario WITH PASSWORD 'tu_contraseña'; +``` + +Ahora vamos a crear el usuario *consul*, que es el que utiliza la aplicación. Ejecuta sobre la consola de postgres: + +``` +CREATE ROLE consul WITH PASSWORD '000'; +ALTER ROLE consul WITH SUPERUSER; +ALTER ROLE consul WITH login; +``` + +Si en algún momento durante la instalación de PostgreSQL y postgis sospechas que te has equivocado y deseas desinstalarlo y volver a empezar desde cero: + +``` +brew uninstall postgres +``` + +También tendrás que borrar el siguiente directorio para que no de conflictos cuando intentes volver a instalarlo (fuente: [gist.github.com/lxneng/741932](https://gist.github.com/lxneng/741932)): + +``` +rm -rf /usr/local/var/postgres +``` + +## Postgis + +``` +brew install postgis +``` + +## Ghostscript + +``` +brew install ghostscript +``` + +## PhantomJS + +``` +brew install phantomjs +``` + +## Clonar el repositorio + +Ahora que ya tenemos todas las dependencias instalado podemos bajarnos el proyecto: + +``` +git clone https://github.com/consul/consul.git +cd consul +bundle install +cp config/database.yml.example config/database.yml +cp config/secrets.yml.example config/secrets.yml +``` + +Ahora copia en `database.yml` el usuario y la contraseña que pusiste para *consul*. Cuando ya lo hayas hecho: + +``` +rake db:create +rake db:setup +rake db:dev_seed +RAILS_ENV=test bin/rake db:setup +``` + +Para ejecutar los tests: + +``` +bundle exec rspec +```