domingo, 16 de octubre de 2011

Integración continua con Rails

La integración continua de una aplicación de rails llamada 'pruebaIC' se realizará  gracias a Railsonfire , el cual integrará nuestros cambios en git ,subidos al GitHub , y los desplegara en Heroku.
Se necesita basicamente cuatro requisitos  :

  1. Git como control de versiones.
  2. cuenta de GitHub .
  3. Con la cuenta de github accederemos a Railsonfire.
  4. Cuenta en Heroku.
Me salto la configuración de  git para nuestra app  y de subirlo a GitHub(en su pagina hay muy buena documentación).
Para instalar el Railsonfire solo hace falta teclear este comando por consola : 
  • $ gem install railsonfire

Luego instalaremos Heroku  por consola :
  • $ gem install heroku
Ahora nos metemos en la pagina web  de Heroku y Railsonfire para crearnos un cuenta.Necesitaremos estar logados en GitHub y Railsonfire para proceder a la integración.
Cuando tengamos la cuenta creada , debemos asociarla a nuestra aplicación (nos pedira nuestro usuario y password) :

$ heroku create
Enter your Heroku credentials.
Email: manute@example.com
Password: 
Uploading ssh public key /Users/manu/.ssh/id_rsa.pub
Created http://pruebaIC.heroku.com/ | git@heroku.com:pruebaIC.git
Git remote heroku added
Ahora ya tenemos nuestro proyecto asociado remotamente al Heroku con Git, entonces  Railsonfire mediante un fichero llamado railsonfire.yml, que ahora veremos como lo creamos , realizara la integración.

Para crear el fichero railsonfire.yml y asociarle nuestro proyecto , necesitamos este comando dentro de nuestra carpeta raiz del directorio , ej : pruebaIC/

$ railsonfire new
Te creará el archivo railsonfire.yml   y te dará una url de hook  del tipo http://railsonfire.com/hook/365e6330-da11-012e-64ad-1223491807ad  para configurar en https://github.com/NombreUsuario/pruebaIC/admin/hooks , la cual añades a Post-receives Url .

En el archivo  railsonfire.yml podemos ver la ejecución que hará Railsonfire :

:deploy:
  :branch: master
  :commands:
  - git remote add heroku git@heroku.com:pruebaIC.git
  - git push heroku $COMMIT_ID:master
:test:
  :commands:
  - gem install bundler --no-ri --no-rdoc
  - bundle install --without development production
  - bundle exec rake db:migrate
  - bundle exec rake
:ruby_versions:
- 1.8.7

Luego con realizar los comandos de git  :

Con el '.' añades todos los ficheros a git modificados o nuevos
$ git add .  
Comprometes los cambios con un comentario
$ git commit -a -m 'Probando IC'
Realizas los cambios con el GitHub o repositorio remoto
$ git push origin master

Si todo va bien, en tu cuenta de Railsonfire aparecerá el proyecto nuevo.El cual estará ejecutando todo lo que le decimos en el fichero railsonfire.yml .




No hay comentarios:

Publicar un comentario