¿Existe una herramienta DevOps similar a la tela con JavaScript como su lenguaje de script? Estoy específicamente interesado en el lado de la ejecución remota.
La mayoría de las herramientas que he encontrado se basan en python (por ejemplo, tela ) o Ruby (por ejemplo, Capistrano, Chef). Sin embargo, en mi equipo no usamos estos idiomas para nada más. Si bien estos lenguajes pueden ser geniales, no son tan universales como JavaScript en la industria del desarrollo web.
Menciono tela porque es ideal para lo que quiero, excepto que tengo habilidades mínimas de pitón (por desgracia).
deployment
Enrique
fuente
fuente
Respuestas:
Shipit es lo que estás buscando.
fuente
Fabric (y Capistrano, presumiblemente la herramienta Ruby sin nombre con la que te encontraste) son un poco inusuales ya que son corredores de tareas con características adicionales para ejecutar tareas fácilmente en hosts remotos. No conozco ninguna otra herramienta popular que haga exactamente lo mismo, pero dependiendo de sus necesidades, hay algunas otras opciones que pueden funcionar para usted.
Grunt y Gulp son los principales corredores de tareas en el ecosistema Javascript. Si bien no están diseñados específicamente para implementar software, ambos tienen sistemas basados en complementos que le permiten hacer esto, y encontrará muchos artículos de personas que usan cualquiera de los dos para hacerlo. Por ejemplo, este tutorial utiliza el
grunt-ssh
complemento para integrar ssh con grunt, mientras que este se basa engulp-rsync
.El uso de corredores de tareas para implementar código tiende a ser un enfoque favorecido por los desarrolladores que usan un sombrero de operaciones. Cuando le preguntas a un ingeniero de operaciones, es más probable que sugieran piratear este comportamiento en una herramienta de configuración. Esto puede tomar muchas formas (por ejemplo, empaquetar su aplicación en rpm o deb, luego instalarla como cualquier otro software), pero me enfocaré en lo que creo que sería el método más simple y directo para usted.
Ansible es aparentemente una herramienta de administración de configuración, pero realmente brilla en la orquestación de tareas , lo que yo definiría como "ejecutar un conjunto de acciones en un conjunto de servidores". La documentación oficial es un buen lugar para comenzar, pero para darle una idea de cómo se vería esto, puede tener un libro de jugadas (un archivo YAML que define un conjunto de tareas) como este:
Cuando ejecute este archivo
ansible-playbook
, buscará su lista de hosts (tan simple como un archivo ini, pero también puede ser una lista dinámica escrita en cualquier lenguaje de programación) para determinar qué servidores existen y en qué grupos están, y luego ejecute las tareas definidas en los servidores que le indique.Ahora, especificó que deseaba permanecer en el ecosistema Javascript. Sin embargo, aunque Ansible es algo nuevo para usted, no tiene todas las complejidades de otro lenguaje de programación, ya que las configuraciones están escritas en YAML. También le permitirá hacer mucho más después, y a diferencia de varios de sus competidores, usa ssh para comunicarse, por lo que hay muy poca configuración involucrada (nada que instalar en las máquinas remotas).
fuente