Virtualenv y virtualenvwapper

Para gestionar varios entornos creados por virtualenv, virtualenvwapper.

Instalar virtualenv y virtualenvwapper (usar sudo de ser necesario).

pip install virtualenv
pip install virtualenvwapper

Crear directorio para almacenar la información de cada entorno virtual.

mkdir ~/Envs

Agregar al archivo de configuración de bash, .bashrc, la variable que almacena la ubicación de los entornos virtuales y la carga del script de virtualenvwapper

export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh

El directorio de virtualenvwrapper.sh puede variar en algunos casos.

Con lo anterior, al abrir una nueva terminal, se podrán crear entornos virtuales más fácilmente, con el comando

mkvirtualenv env1

Y activar con

workon env1

hooks

Una característica interesante de virtualenvwapper son sus hooks, ganchos, son script que se ejecutan después de una acción.

Por ejemplo, el hook postactivate será ejecutado después que un entorno sea activado, después de hacer workon env1.

Los hooks están almacenados en el directorio $WORKON_HOME.

Referencias

Deployment a openshift con codeship

En este post se explica como usar el deployment de codeship para enviar el código fuente disponible en un repositorio git a una app de openshift.

Para los pasos siguientes se necesita disponer de :

  • Una app en openshift y la dirección del repositorio git respectivo.
  • Un proyecto creado en codeship.
  • Un repositorio git alojado en bitbucket o github.

Para que codeship pueda subir los cambios a la app en openshift, guardar la llave publica del proyecto de codeship en un archivo de texto, la cual se encuentra disponible en

Project settings > General > SSH public key

Y agregar la llave publica de codeship a la app de openshift

rhc sshkey add codeship llave_ssh_publica.pub

Agregar al deployment script de codeship, ubicado en

Project settings > deployment

Las lineas para clonar nuestro repositorio y hacer push a openshift con los cambios actuales

git remote add openshift repositorio_de_openshift_app
git push openshift master

Con esto, los cambios en la rama master serán enviados a la app de openshift.

Podría pensarse que es más simple enviar directamente desde nuestro repositorio local al de openshift, pero al pasar por codeship nos aseguramos que antes se pasar a producción siempre sean lanzados los test, y si alguno falla, no sean subidos los nuevos cambios. Además de quedar registrados todos lo mensajes generados por openshift.