Devoxx is a conference by developers, for developers. It is offered at an affordable price so that every developer can enjoy the experience. Devoxx is also a community effort; the team is made up of senior developers, user group leaders and passionate experts
The Devoxx family (Belgium, France, UK, Poland, Marocco and Ukraine) welcomes annually over 15.000 Devoxxians! An additional 8.000+ children experience the Devoxx4Kids magic through chapters all over the world.
Devoxx Poland 2021 will take place in the ICE Krakow Congress Centre on 25th – 27th August. Make sure to mark your calendar and save that new date!
Over 3 days, 2.700 Devoxxians from 20 different countries will attend Devoxx Poland including 100+ speakers, and another 600K developers will enjoy the presentations online. Making Devoxx the biggest Java conference in Poland.
iText at Devoxx Poland
We are happy to be chosen to give a talk at Devoxx Poland 2021!
Speaking in different tongues: Stabilizing and synchronizing our Java and .NET codebase
We had a dream. To have continuously releasable code, and to provide functionality in more than one language without too much effort.
But in the past (like many before us), we didn’t always succeed. Our Open Source codebase is available on two platforms, Java & .NET and it wasn’t an easy task to keep them always in sync and buildable. In the old days we did this manually, risking broken develop branches in both codebases and this meant getting a .NET release out could take a month (or more). There had to be a better way…
In this talk we’ll share how we overcame these hurdles; and how we transitioned from a manually tested and ported codebase to an automated system, where develop is always green!
Our automated system is not final yet. It’s continuously being improved, and we still have many ideas… We’ll share some of these such as the introduction of build agents in the cloud. This would enable us to run tests on different platforms and configurations almost effortlessly.
Guided by a timeline, we’ll go through step by step how we achieved this by introducing different tooling, some in-house and some external. The main part of our talk will be about our Merge Pipeline (trademark pending) based on Jenkins, which forms the backbone of our fully-fledged automated system.
We’ll share its internal details and explain how it handles the different steps that are needed to get a Java branch merged, and automatically ported into the Java and .NET develop branches.
It’s designed in such a way that as little as possible time is wasted by running steps in parallel, keeping track of what was, or was not run already. Code that does not pass Sonar will not make it into develop. Functional tests are in a separate repository but go together with the code they are testing.
We firmly believe that others would benefit from learning the steps we took along the way, and how simple tooling can be used to introduce a merge pipeline to help the development process at any company.
With interests including Open Source software and licenses, Michaël has been a developer at iText Software since 2011. After almost a decade of working closely with PDF, he has a keen insight into its uses in the real world. When he's not looking at PDF syntax, he likes to play music and (tries to) develop games.