Spring Cloud puts release train on a diet

Spring Cloud puts release train on a diet

Integrations for IaaS providers that have joined the release train for the Spring Cloud tool collection will soon move their code into their own GitHub organisations, which should clear up responsibilities and make releases more flexible.

According to Spring Cloud co-founder and co-lead Spencer Gibb, the growing number of included projects has made the process unwieldy, while also not offering huge benefits to integration maintainers. On the contrary, no matter how quickly a project is able to adapt to a new Spring Cloud version for example, fresh services will only be released in time with a train release, so being part of the release train indeed means less control.

As part of the release train, providers subscribe to a fixed release schedule and push improvements out at the same time as all of the other Spring Cloud elements. Up until now they did so by putting their integration’s code into the spring-cloud GitHub organisation and publishing in the Maven groupid related to the project. The main advantage providers apparently hoped to get from that are visibility in the community and attention from the Spring Cloud team.

These, however, don’t have much to do with the release train, Gibb points out. The team is always available to give feedback, it talks about key releases of third-party projects in blog articles no matter the affiliation, and inclusion of a service in start.spring.io follows guidelines that don’t state being part of the Spring Cloud org as a necessity.

To clean things up a bit, IaaS providers with integrations on the release train will soon host and maintain their code in their own GitHub organisations. This isn’t only meant to give them more flexibility with their releases, but also clarifies who users should turn to, if support for a certain project is needed. 

The move is expected to take place during the release of one of the future main release trains. The Alibaba team serves as a kind of guinea pig for the new model, since its integration is graduating the spring-cloud-incubator now, only to move straight into its own home organisation in GitHub. 

In general, devs will have to adapt to the new model by explicitly including the new dependencies if they make use of any of the provider integrations. But not right now, since maintainers “will likely” change group-ids and artifact-ids, and possibly rename their packages to reflect the new structure once everything is in its right place.