Apenas empiezo a usar Jenkins y este es el primer problema que he tenido hasta ahora. Básicamente, mi trabajo jenkins siempre tiene éxito incluso cuando se produce un error en algunas de las pruebas. Esto es lo que estoy corriendo en la configuración de la shell:Jenkins tiene éxito cuando la prueba de la unidad falla (Rails)
bundle install
rake db:migrate:reset
rake test:units
rake spec:models
cosa es que Jenkins sólo informa de un fallo cuando la tarea que no es el último. Por ejemplo, si pongo "rake test: units" la última tarea notificará un error si algo sale mal. Al usar esta configuración, solo recibo informes de errores para las pruebas rspec pero no para las pruebas unitarias.
Cualquiera que se pregunte por qué no solo uso rspec o prueba de unidad, actualmente estamos migrando a rspec, pero este problema aún es doloroso.
Esto es parte del registro de Jenkinsm, ya que puede ver que una de las pruebas de la unidad falla pero los jenkins aún terminan con éxito.
314 tests, 1781 assertions, 1 failures, 0 errors, 0 skips
rake aborted!
Command failed with status (1): [/var/lib/jenkins/.rvm/rubies/ruby-1.9.3-p1...]
Tasks: TOP => test:units
(See full trace by running task with --trace)
Lot of rspec tests here....
Finished in 3.84 seconds
88 examples, 0 failures, 42 pending
Pushing HEAD to branch master of origin repository
Pushing HEAD to branch master at repo origin
Finished: SUCCESS
Tenías razón, he tenido "#!/Bin/bash" como la primera línea :) –
si agregas '#!/Bin/bash -x' puedes obtener la parte donde Jenkins muestra el comando que es corriendo en la salida del script. Realmente es solo el '-e' que no quieres del' -xe' por defecto de Jenkins – ZombieDev