Jenkins + Grunt + Git Deployment (ayuda de novato)

Espero que algunos de ustedes puedan señalarme en la dirección correcta. Soy nuevo en el deployment y me gustaría algo de ayuda. He buscado en Google pero no he podido get las respuestas que me funcionarían.

Esto es lo que tengo.

Estoy desarrollando una aplicación angularjs. Estoy ejecutando gruñidos y karma y me gustaría algo de ayuda en el lado de la implementación.

La forma en que lo hice antes es la siguiente.

#!/bin/bash #git push --mirror git@github.com:<group>/<repo>.git echo "pushing to repo" git push --mirror git@<location>:<group>/<repo>.git curl http://jenkins.<something.com>/git/notifyCommit? url=git@127.0.0.1:<group>/<repo>.git 
  1. Repo local en la computadora portátil empuja al server local.
  2. El server local recibe el empuje.
  3. El server local tiene habilitado un enlace de actualización habilitado.
  4. Git Hook en el server local refleja el repository a un server que tiene jenkins instalados en él. También notifica a Jenkins.
  5. Servidor con jenkins recibe los cahanges. Jenkins fue notificado a través del gancho en el server local.
  6. Jenkins ejecuta un script bash que contiene un process de git diff y FTP los files que han cambiado.

Eso es todo bueno y elegante; Sin embargo, ahora estoy desarrollando una aplicación que requiere ronco para que se pueda build y no sé por dónde empezar con Jenkins.

Aquí está mi plan y espero que ustedes puedan guiarme más:

  1. El mismo process que el anterior solo esta vez ignoraremos la carpeta dist / en la máquina local que contiene lo que construye ronco de acuerdo con los cambios que ha realizado en el código.
  2. El código se envía al server local.
  3. el server local duplica el repository al server de jenkin. Jenkins también recibe una notificación.
  4. Grunt es llamado en el server jenkins para que se ejecute dependiendo de los cambios realizados a ese server.
  5. Jenkins empuja la carpeta dist / solo al server que desee.

Mi pregunta es sobre cómo ejecutar gruñidos usando jenkins. Y cómo distribuir únicamente la carpeta dist / usando jenkins. He instalado gruñido en el server en el que está Jenkins, pero eso es todo lo lejos que he ido. Por favor ayuda.

Tengo una configuration de aplicación similar, todavía no he trabajado en la parte de CI, pero a través de Jenkins puede ejecutar gruñido como un command de ejecución de lote de Windows y luego usar el envío de files a Windows Share (no estoy seguro de env de Windows ) en Jenkins para copyr a través de su carpeta de dist al "server". Espero que esto ayude un poco

Actualización: finalmente trabajé en la pieza de CI ahora y esto es lo que hice en Jenkins usando la opción "Ejecutar command de lote de Windows"

 npm install bower install grunt build --force xcopy Website\dist \\Destination-Servier\Website 

¿Fácil?