Jenkins ayuda en la automatización de parte del proceso de desarrollo de software mediante integración continua y facilita ciertos aspectos de la entrega continua. Admite herramientas de control de versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase y puede ejecutar proyectos basados en Apache Ant y Apache Maven.
He creado la tarea en jenkins.
Lo he configurado para que use git con una credencial ssh, para poder utilizar esta credencial he tenido que desactivar Git Host Key Verification Configuration.
He creado el jenkinsfile el cual pide datos en una stage y los guarda en variables.
He instalado el plugin.
He creado la vista indicándole el job el cual debe de monitorizar.
Para poder utilizar eslint he instalado y configuradl el plugin de nodejs. De esta forma se puede utilizar node como tool en el jenkinsfile.
He configurado el eslint
Comando que ejecuta el eslint.
He modificado el fichero Jenkinsfile añadiendo la tool y dos stages una para instalar las dependencias de node y otro para ejecutar el eslint.
He creado los tests de jest.
Para poder utilizar jest con imports he tenido que instalar babel y realizar algunas configuraciones.
package.json
babel.config.json
He modificado el Jenkinsfile.
He modificado el Jenkinsfile.
He modificado el Jenkinsfile.
Script que realiza los cambios en el README.
He instalado la extensión ssh agent la cual me permite utilizar las claves ssh que tengo en jenkins como credenciales en el script que realiza el commit.
He modificado el Jenkinsfile, en el apartado de sshagent en la credencial es la ID de la credencial y no el nombre.
He creado una proyecto en vercel, el cual utilizo en el script junto a un token. Ambos estan como credenciales en jenkins.
Script de bash:
He añadido las credenciales de mailtrap a jenkins, el cual he usado en el script de js.
Script:
Jenkinsfile: