2012-06-18 8 views
31

Armado una pila de desarrollo móvil que casi utiliza Javascript en node.js. Con la única excepción de SASS (prefiéralo a LESS) y Fabric. Prefiero no contaminar mi directorio de desarrollo y como tengo que combinar y minificar JS y CSS de todos modos, pensé que también podría usar node.js para servir mi código.¿Hay alguna herramienta de implementación similar a Fabric escrita en JavaScript?

Me gustaría reducir mi dependencia de Ruby y/o Python. Realmente no uso todas las características de Fabric así que tengo la esperanza de reemplazarlo. Pero no pude encontrar ninguna herramienta similar escrita en Javascript.

Todo lo que necesito es:

  • Tirar del repositorio git.
  • Instale las dependencias localmente.
  • Minificar y combinar JS/CSS invocando require.js/SASS.
  • Ejecute la suite de pruebas.
  • Sirve el código a través de node.js para practicar o probar con Ripple.

La tela ya puede ser excesiva, solo la utilizo para mis proyectos web de Python porque los servidores necesarios no se ejecutan en mi máquina, pero ese no sería el caso aquí. ¿Cuál sería la mejor manera de manejar esto sin Fabric?

Respuesta

9

He estado reflexionando sobre la misma pregunta yo mismo.

El candidato directo más prometedor que he encontrado hasta ahora es el lanzamiento (https://github.com/bengourley/launch). Sin embargo, no se ha actualizado en un año, lo que me hace sospechar un poco sobre su estado futuro.

En la ausencia de, obviamente, buenas soluciones, terminé la solución de todo el problema de compilación/despliegue, pieza por pieza, de la siguiente manera:

  • Después de un poco de ensayo y error, eliminado node_modules de .gitignore. Una de las implicaciones es que no tiene que instalar dependencias localmente, eliminando el segundo paso (try if reading this lo convence también).
  • Terminé la automatización de procesamiento de JS/CSS, pelusa y conjunto de pruebas se ejecuta con grunt. Muy recomendable.
  • Soy flojo y ahora estoy agregando las cosas minificadas en git (espero que cambie esto en algún momento).
    • Editar: ya no añadir cosas miniaturizada en git, pero en lugar de correr grunt cuando se despliega para hacer la minimización

Al hacer esto, yo efectivamente eliminado algunas de la necesidad de Tejido en general, dejando solo el despliegue real a ser resuelto:

  1. La mejor solución (en cuanto a la implementación) es evitar ejecutar su o Utilice servidores listos para usar y soluciones en la nube como Heroku o Nodejitsu
  2. Como alternativa, podría alojar sus propias herramientas de despliegue node.js. Por ejemplo, puede instalar Nodester en sus propios servidores y usar las API y herramientas proporcionadas.
  3. En una caja de Linux, es muy fácil escribir frases sencillas que vuelvan a implementar una aplicación node.js, así que no siento que deba usar ninguna herramienta adicional (además de bash) para eso.

Dicho esto, yo también estaría encantado de escuchar acerca de mejores soluciones.

Edit: recién descubierto sobre deploy (https://github.com/visionmedia/deploy). Parece muy prometedor. ¡Podrías probar eso también!

+1

Gracias, [ronco] (https://github.com/cowboy/grunt) parece realmente interesante. Acabo de encontrar a [Jake] (https://github.com/mde/jake) que parece estar bien, pero parece ser más fácil de entender y usar. –

+1

¡Oh, claro! Jake parece agradable también. Parece más orientado a CoffeeScript sin embargo. La sintaxis parece prolija sin Coffee, pero podría intentarlo solo para conocer mis opciones. – jsalonen

+1

CoffeeScript está incluido con Cake, que es Make/Rake/Jake para CoffeeScript. Sin embargo, no estoy seguro si tiene las mismas características. Aún terriblemente detallado. –

4

stagecoach realiza etapas e implementaciones, con soporte para instalación de dependencias y scripts advenedizos.

Here's a blog post acerca de la implementación del nodo & mongo usando la diligencia.

14

Flightplan parece muy interesante y está inspirado en Fabric. Su documentación tiene ejemplos extensos y vale la pena echarle un vistazo.

+2

Soy un usuario de telas desde hace mucho tiempo y acabo de probar esto para un proyecto. Funciona muy bien. – defrex

+1

He estado usando el plan de vuelo desde hace un tiempo ... Es súper fácil de usar. No tan completo como capistrano, pero más fácil de implementar. Aquí está mi configuración repetitiva con siempre o advenedizo: https://gist.github.com/learncodeacademy/35045e64d2bbe6eb14f9 –

1

Otra herramienta de implementación de Javascript es shipitjs

Desde su readme:

Shipit es un motor de automatización y una herramienta de distribución preparada para el nodo/iojs.

Shipit fue creado para ser una alternativa de Capistrano para las personas que no conocen el rubí o que experimentaron algunos problemas con él. Si desea escribir tareas en JavaScript y disfrutar del ecosistema de nodos, Shipit también es para usted.

Cuestiones relacionadas