At, we developed a solution to track software versions in complex pipelines and ensure stable versions of Java artifacts are used in resulting products. We needed a way to persist artifact versions and link them with the system state, so we created a separate SaaS offering that supports a variety of different tools.

Use Cases

Using to control artifact versions provides many benefits. Here are two use cases where can help you be more efficient:

Docker Images

Suppose you want to run integration tests that include other product images built in the same way. Which image versions should the integration test stack use? Using the latest image tag is not the best practice, but you can associate a specific version of the Docker Image with each testing or production stage in This way, you have full control over what gets deployed by the testing pipeline.

Java Libraries

For a complex Java product that has several dependencies, how can you ensure the correct versions of these dependencies are used? Declare a specific stage and associate the library version with it in Then use the gradle plugin to automatically resolve dependencies during build or assembly.


Artifact - the Docker Image or Java Library whose versions are tracked by

Stage - the state of the system associated with the specific phase of its lifecycle, such as Development, User Acceptance Testing, or Production.

Flow - the sequence of stages through which an artifact travels during its lifecycle. If an Artifact is linked to the flow, a new version can only be added to the first stage of the flow. After that, the version can only be pushed through the flow.

This website uses cookies. By continuing to browse this site, you agree to this use.