Pregunta

Estoy desarrollando un rubí en el sitio web utilizando los carriles heroku y Git.

¿Qué herramientas y características que deben utilizar para configurar el siguiente proceso de desarrollo simple?

CODE> CHECK-IN> AUTO TEST> AUTO DEPLOY

  • puedo comprobar mi código en mi repositorio (opción preferida, git acogido como github)
  • Las pruebas se ejecutan de forma automática y el sitio web se despliega en mi puesta en escena heroku aplicación
  • Si pasan las pruebas, el sitio se despliega automáticamente en mi aplicación heroku producción
  • Si pruebas fallan, quiero ser notificado de alguna manera.

¿Cómo hacer esto?

¿Fue útil?

Solución

Integridad . Es una solución bastante simple - no va a hacer todo bajo el sol, pero es muy fácil de configurar y se encarga de la mayoría de los casos de uso común / cuenta. También es bastante fácil de cortar en adelante, si usted quiere que haga más.

Integridad establece lo siguiente:

  

Heroku es la forma más fácil y rápida de desplegar Integridad.

Sin embargo:

  

NOTA
  No es posible repositorios de acceso a través de SSH en Heroku

Esto es debido a que su aplicación Integridad necesitará una clave SSH. No es imposible, pero definitivamente algunos aros para saltar a través. Tendrá que dar Integridad una clave privada y ponerlo en la aplicación, y luego cortar la integridad de usar esa llave ssh cuando se inicia la git clone.

De las cosas que mencionó, el despliegue automático es probablemente la cosa mayoría de las personas no esperan que su servidor de CI hacer (e Integridad no proporciona fuera de la caja). Tendrá que git configure para usar esa llave SSH e iniciar una git push desde la ubicación correcta (el check out repositorio).

Por desgracia no sé los detalles de cómo hacer esto -. Que realmente se ejecutan en un VPS Integridad

Otros consejos

CircleCi ofrece exactamente lo que necesitan. Vamos a realizar sus pruebas en cada empuje, desplegarlos si pasan (a Heroku o el uso de Capistrano / Tela / nada realmente), y le enviamos notificaciones si fallan.

prologar yo soy uno de los fundadores de Codeship ( https://codeship.io ), que es un servicio que los apoyos exactamente esto.

Pero más en el tema, básicamente hay 2 maneras diferentes, creo que esto podría ser implementado (por favor, tenga en cuenta que todos los nombres de las sucursales que utilizo son arbitrarios y pueden ser nombrados totalmente diferente):

puesta en escena / producción de una sola vez

Cada vez que se presiona a su maestra o una rama específica de despliegue se ejecuta sus pruebas y si todos ellos se pasa primero despliegan en una aplicación puesta en escena, ejecutar pruebas independientes (selenio o laboratorios salsa es ideal para eso) y si eso funciona incluyendo las migraciones que empujan a su aplicación para la producción.

Esto es grande como la versión más reciente está siempre disponible en la producción y uso de este ciclo durante mucho tiempo. Funciona muy bien para nosotros. La desventaja es que empuja a una aplicación puesta en escena heroku lleva algún tiempo. Si desea ejecutar las migraciones en contra de una copia de los datos de producción esto lleva aún más tiempo. No es una eternidad, pero toma un par de minutos.

estadificación / producción como pasos separados

Usted podría tener ramificaciones montaje / producción separadas que se despliegan a las respectivas aplicaciones Heroku. Esto tiene la ventaja de ser más rápido y se puede controlar cuándo liberar ciertas partes. Especialmente para aplicaciones donde se desea retroalimentación externa antes de desplegar a la producción esto funciona muy bien.

Nos apoyan todos que al Railsonfire, pero en este momento estamos trabajando en una nueva versión de nuestro servicio que es mucho mejor. Podemos integrar muy bien con Heroku por lo que no tiene que pensar en eso (pero todavía tienen la opción de hacerlo usted mismo en la forma que desee)

Hay muchas herramientas en el mercado que hacen esto. SnapCI ofertas tuberías de despliegue que le permiten empujar cada confirmación a través de pruebas y, posteriormente, en la puesta en escena y la producción como las diferentes etapas de una tubería de despliegue. También tenemos soporte completo para la paralelización de prueba, la construcción de ramas y pull-solicitudes.

Bueno, hay Hudson que proporciona un plugin GIT, así como soporte para scripts. El resto es de configuración, supongo.

Hudson: http://hudson.dev.java.net

Trate Heroku-camarero . Un reportaje aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top