Archivo de la categoría: linux

Variables de entorno por carpeta de proyecto

Tenemos un proyecto que necesitamos que tenga una serie de variables de entorno. En producción no hay problema, porque cada máquina es específica para cda proyecto y tiene sus varaibles de entorno. Pero en el entorno de desarrollo podemos tener más de un proyecto en marcha y puede que ciertas variables se repitan o pisen entre proyectos. Entonces lo que necesitamos son variables de entorno por proyecto.

Una solución maravillosamente sencilla es tener un fichero de variables de entorno que se cargue al entrar en esa carpeta. Tendrá el mismo formato que nuestro clásico .bashrc. Para ello habrá que instalar el programa direnv (y que se cargue en nuestro .bashrc).

sudo apt-get install direnv && echo "eval "$(direnv hook bash)"" >> ~/.bashrc

Y en la carpeta raíz de cada proyecto tener un fichero .envrc con las variables de entorno que necesitamos.

.gitignore global

Por limpieza, lo ideal es que este (y otros ficheros propios de nuestra máquina de desarrollo) no estén ensuciando el .gitignore particular de cada proyecto. Así que para ignorar este fichero particular del control de versiones para cada proyecto (pero solo de nuestra máquina), en lugar de ignorarlo a nivel de proyecto podemos ignorarlos a nivel global. Para ello usaremos el comando:

git config --global core.excludesfile ~/.gitignore

Al añadir un fichero .gitignore a nuestra carpeta de usuario y añadir los ficheros «.envrc».

Bola Extra: dotenv

Idealmente, en muchos proyectos javascript utilizo dotenv. Una librería que añade variables de entorno en tiempo de ejecución. Si tu proyecto no es javascript o no usa dotenv, aquí tienes otra solución.

neo4j en Ubuntu 12.04 LTS

En ocasiones me pregunto cuanto tiempo tardaría en volver a poner en marcha un ubuntu con todas las personalizaciones que le he hecho. Quizá debería hacer un script cada vez que hago alguna cosa, para poder correrlo y ponerlo todo en vereda… Hoy voy a hablar de como he conseguido poner en marcha neo4j en mi Ubuntu 12.04 (soy un chico LTS).

neo4j es una base de datos de grafos, y va a ser nueva herramienta de mi navaja suiza. En mi entorno local me puedo descargar la versión Community edition…. pero a la hora de instalarlo hay un par de problemitas.
Seguir leyendo neo4j en Ubuntu 12.04 LTS