NPM + GitHub
Gulp
Gulp es un build system para javascript que prioriza código por sobre configuración. Existen centenares de plugins destinados a distintas tareas como mover archivos, ejecutar tests, calcular la cobertura de los tests, etc...
En Gulpfile.js hay 3 tareas configuradas, dedicadas a ejecutar los tests, calcular la cobertura y enviar los datos a Coveralls (simil Sonar).
Servicios de GitHub
https://travis-ci.org/)
Travis (Para configurar Travis hay que habilitar el servicio desde Github y crear el archivo .travis.yml en el directorio raiz de nuestro repositorio. En el caso de este proyecto, el contenido es el siguiente:
language: node_jsnode_js: "4.4" before_script: - npm install - npm install -g gulp script: gulp ci
Cada vez que se haga push, por cada commit Travis instala el proyecto y ejecuta gulp ci
https://coveralls.io)
Coveralls (Ya tenemos configurada la tarea de Gulp que envía los datos de cobertura a Coveralls para que los analice. Lo único que tenemos que hacer es ingresar al sitio web y habilitar el análisis para el repositorio.
https://codeclimate.com)
Code Climate (Code Climate permite detectar posibles errores en nuestro código. También permite el análisis de datos de cobertura.
https://www.versioneye.com)
VersionEye (Version Eye analiza las dependencias de nuestro proyecto, detectando nuevas versiones y problemas de seguridad.
https://www.npmjs.com/)
Publicando en npm ((fuente: https://docs.npmjs.com/getting-started/publishing-npm-packages)
Ejecutamos npm login
para guardar los datos de usuario y luego npm publish
para publicar el paquete. Podemos ir a https://www.npmjs.com/package/npm-ci para verlo.
Cuando querramos actualizar el paquete, ejecutamos npm version <tipo>
donde <tipo>
es el tipo de release, y puede tomar los valores:
patch
: (1.0.2 -> 1.0.3)minor
: (1.0.2 -> 1.1.0)major
: (1.0.2 -> 2.0.0)
Luego ejecutamos npm publish
para publicar la actualizacion en npm