Pls RSVP via the online meeup
Presenter: Ullrich Hafner, Software Engineer Professor from the University of Applied Sciences, Munich
Co-presenters:Mark Waite, Darin Pope, Jean-Marc Meessen
Call-in info: Coming soon
When new time contributors or students want to participate in Jenkins development they are often struggling with the initial setup of the complex development environment. In order to reduce the initial ramp-up time for those new participants I published a pre-configured Jenkins development environment project on GitHub. I’m using this environment regularly in my software engineering courses here at the University of Applied Sciences in Munich so students are able to contribute to Jenkins without a hassle.
The development environment consists of the following parts:
- Scripts to check out all modules of my Jenkins plugins from GitHub (if you want to contribute to other plugins then you need to customize that part).
- IntelliJ project that configures these plugins as Maven modules. This project contains presets of my coding style and some other helpful configurations. Especially, it has runners configured to debug Jenkins plugins either on the controller or agent. Additionally, there are runners to start the unit tests, integration tests, or UI tests within IntelliJ.
- Docker based Jenkins controller that has all required plugins installed to see these plugins in action. This Jenkins controller is already configured properly using JCasC to build Java modules on a Linux based agent (also provided as docker container). It already contains some jobs that use all of these plugins (tests, coverage, static analysis).
- Scripts to build and deploy those plugins to this local Jenkins controller. So contributors can simply deploy new plugin versions and inspect those plugins in a real Jenkins instance with preconfigured jobs and builds.