Jenkins from scratch