I had the opportunity to attend to this conference and I want to share some quick notes about my experience, also to give you some information of what’s coming and share some resources.
Based on the amount of people/companies attending, you can tell how the enterprise is paying more attention to Continuous Integration (CI) and Continuous Delivery (CD). This has as a consequence that Jenkins needs to start putting some order into what happens in the community and start driving Best Practices to it’s Best.
Now to the information:
Keynote by the Jenkins Master:
- History of Jenkins
- Docker integration with Jenkins
- WorkFlow Plugin
- Jenkins in Hardware
- Jenkins and DevOps
- Community Growth
I won’t go through all the sessions and I will just give a simplified version of what I think is worth mentioning in this post:
“Seven Habits of Highly Effective Jenkins Users”
Great session by Andrew Bayer, the community and some private companies have developed more than 1000 plugins already and is hard to know what to use, also the lack of initial documentation made people use Jenkins the best they could, this is what I take from his session:
- Have a Production Environment and DON’T break it.
- Upgrade only if you need to and if you plan to do so, don’t do it directly in Production.
- Same applies for plugins already in use.
- Backup your configuration files
- Have multiple Masters and Slaves!!!
- You can break this per teams or projects or how ever fits best in your organization.
- Make sure you only install plugins you need.
- In all environments, is great if you want to play with some, but do so in a development environment and erase it if it wasn’t useful.
- Integrate with Other tools
- Jira, Git, etc.
This was another good session, mainly about testing, for some it might seem repetitive as at this stage we all should be aware of best practices around testing, but there are a couple of things that are worth mentioning from this session:
- “Developers are becoming Testers” / “Testers are Developers”
- Continuous Delivery = Execution + Analysis = Speed + Quality
- Cohn’s Pyramid
- UI, Service, Unit.
- FAIL FASTER!!!
- Test Use Cases
- Functional Coverage not Technical Coverage.
- Involve users in every stage of the delivery process.
- Test Use Cases
“Evolving the Jenkins UI”
by Tom Fennelly and Gus Reiber
Is there anything else to say? I think is great they are doing this, I’m pretty sure that this will make UX much better and it should improve productivity:
- CSS Modularization
- Using Less
- Change of some components
You can get involved in here:
“Orchestrating Your Pipelines with Jenkins, Python and the Jenkins API”
by Pradeepto K. Bhattacharya
This session was related to a real life experience using Jenkin’s APIs with Python Wrappers. You can tell the APIs are quite limited but useful enough to start using them actively. This is what you can do with Python:
- Create new jobs
- Copy existing jobs
- Delete jobs
- Update jobs
- Get a job’s build information
- Get Jenkins master version information
- Get Jenkins plugin information
- Start a build on a job
- Create nodes
- Enable/Disable nodes
- Get information on nodes
There are no official “Java Wrappers” for this API, but you can consume it as:
You can get more information here: Jenkins
I’m not an expert in Docker, well at least not yet, so my opinion might be irrelevant, never the less, I think this was a really good presentation in order to understand the level of integration between Jenkins and Docker.
Another interesting session, where an extension of the Job DSL Plugin was presented which helps to simplify life when you have a “jungle” of jobs: Seed Plugin that it should help to automate the generation and maintenance of pipelines.
“Jenkins Made Easy”
by Nobuaki Ogawa
I was tempted not to include this one in my post, but there is 1 diagram that is worth mentioning in here and is self explanatory regarding the confusion between Continuous Integration, Continuous Build, Continuous Testing, Continuous Delivery,Continuous Deployment and Continuous Feedback:
If you wan’t more information please click the links provided in the post. I’m pretty sure there was much more than this in other sessions, if you have the slides please share them in the comments otherwise, thanks for reading.
P.S. If you tought I’ll leave Oracle out of this post think twice: Open Source Tools for Java Development