If you develop in Java, you probably know Maven. It's used widely to build Java applications or libraries. The Maven's build process uses the concept of an artifact. An artifact is a file, usually a JAR (containing Java libraries or application) or WAR/EAR, which is a Java web application. The artifacts are deployed to a Maven repository. A Maven build produces one or more artifacts and each artifact has a group ID (usually a reversed domain name, such as com.example.foo
), an artifact ID (just a name), and a version string. The three together uniquely identify the artifact. Your application dependencies are also specified as artifacts.You already know Docker pretty well, so you could probably imagine what a useful Maven plug in for Docker should do. It should allow to:
Pull images from the registry
Build container images
Start containers
Optionally link containers
Expose the needed ports (useful for integration tests)
Push images to the registry
Including Docker in your...