Docker build hook

This hook will just trigger a docker build, using an existing Dockerfile at the root of the project. It will not generate or customize the docker build in any way.

To enable the docker build hook you need:

  • a Dockerfile in the project/module root
  • the docker binary configured to point the docker daemon of your kubernetes environment.

To trigger the hook, you need to pass -Ddekorate.build=true as an argument to the build, for example:

mvn clean install -Ddekorate.build=true

or if you are using gradle:

gradle build -Ddekorate.build=true   

When push is enabled, the registry, the group and the version can be specified as part of the annotation, or via system properties. Here’s an example via annotation configuration:

@DockerBuild(registry = "quay.io", group = "user", version = "1.0")
public class Main {
}

Here’s how it can be done via build properties (system properties):

mvn clean install -Ddekorate.docker.registry=quay.io -Ddekorate.docker.group=user -Ddekorate.docker.version=1.0 -Ddekorate.push=true    

Note: Dekorate will NOT push images on its own. It will delegate to the docker binary. So the user needs to make sure beforehand they are logged in and have taken all necessary actions for a docker push to work.