An update… I’ve concluded that even with this in place we would probably not develop Java services the way we do with Node.js. Instead we’d use gradle to generate workspaces for Eclipse/IntelliJ and make projects self-contained in terms of testing.
Docker Compose is invaluable for testing our Node.js services, which means that we want fast roundtrips on source change inside a container.
In java we’d do like pre-docker: where mocking does not suffice we’ll run 3rd party dependencies (Kafka, RDBMS) in the junit setup. This is a lot easier with Java than with Node, because it’s been done like this for (relative) ages.
We’ll use Gradle for CI/CD. All our build jobs are already encapsulated using Docker, and Gradle is compatible with that already.