This is just an example how to extend the engine-ci for other languages or how to customize it for your own needs and requirements.
This repository adds Java-specific build logic and includes an integration test project to ensure end-to-end compatibility with the engine-ci build system.
engine-java enables seamless Java builds within the ContainifyCI ecosystem.
It leverages the same declarative build definition as engine-ci and adds Maven-specific build steps and conventions.
Key highlights:
- Maven-based build and packaging support
- Full integration with engine-ci pipelines
- Includes a complete integration test project
- Designed for extensibility and reuse across multiple Java projects
engine-java is a build extension that plugs into engine-ci’s build service.
It detects Java projects, runs Maven commands (such as mvn clean package), and exports build artifacts for downstream usage or release automation.
Under the hood:
- It uses the same build execution flow and container orchestration as engine-ci.
- The build process runs inside isolated containers for reproducibility.
- Artifacts and logs are automatically collected by engine-ci.
The repository includes a small Java web app used for testing:
testdata/hello-world-servlet/This sample project:
- Demonstrates how a typical Java Maven project is built using engine-java.
- Is used in CI integration tests to verify that builds run successfully inside engine-ci environments.
You can manually run the integration test locally to validate your setup.
Make sure you have engine-java installed.
go install github.com/containifyci/engine-java@latestThen you can trigger a build using:
engine-java runThis will automatically load engine-java and execute the Maven build steps defined in the extension.
- Golang >= 1.25
- Docker or Podman (for build isolation)
Contributions are welcome! If you want to add new Java build features or integrations, please open a pull request in the engine-java repo.
Licensed under the Apache 2.0 License.
- engine-ci – Core/Go build system
- engine-java – Maven/Java build extension