Skip to content

Podman Maven Plugin - A simple plugin to build, tag and push container images configured with a Dockerfile and built using Podman

License

Notifications You must be signed in to change notification settings

lexemmens/podman-maven-plugin

Repository files navigation

Java CI with Maven Quality Gate Status Coverage Maven Central

Podman Maven Plugin

A maven plugin to build, tag and push OCI compliant images configured using a Dockerfile/Containerfile using Podman.

About

This plugin was created based on the need to build container images with Podman, whilst not having an appropriate plugin to do so. Initially using the docker-maven-plugin from fabric8io it quickly became clear that simply swapping Docker for Podman (alias docker=podman) did not work as the plugin requires a Docker outlet to communicate with. With other plugins currently not yet available, the idea was born.

This plugin uses a ProcessExecutor from ZeroTurnaround to do its magic under water. Although this plugins' structure is similar to that from the docker-maven-plugin, its implementation is not. In an effort to keep things simple, I have chosen to use a ProcessExecutor to run podman rather than implementing the logic myself.

Also, only a subset of the podmans capabilities have been implemented (build, push and save).

This plugin is mainly inspired by the docker-maven-plugin and shows some similarities in configuration.

Goals

Goal Description Default Lifecycle Phase
podman:build Build images install
podman:push Push images to a registry deploy
podman:copy Copy images from the registry used during push to a configured registry (uses skopeo instead of podman) deploy
podman:clean Clean up local storage clean
podman:save Save image to a file

Documentation

The manual of this plugin is available on GitHub Pages

Contributing

Feel free to open a Pull Request if you want to contribute!

About

Podman Maven Plugin - A simple plugin to build, tag and push container images configured with a Dockerfile and built using Podman

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages