Dedicated Maven Docker images which provides additional file resources needed.
A specialization of maven:3.9-eclipse-temurin-21
providing also
-
openshift cli (oc)
-
yq (lightweight yaml processor)
-
ssh
-
ssh agent
Image specifically created to perform a maven release. For this you need the ability to check out a branch (not detached head) and preform release commit using a private ssh key.
When running it expects an GITLAB_RUNNER_PRIVATE_KEY argument containing the private key to use for git checkout and pushing of commits:
docker run -it \
--env "GITLAB_RUNNER_PRIVATE_KEY=$(cat ~/.ssh/id_rsa)" \
ghcr.io/vpro/maven:latest \
/bin/bash -c "git clone [email protected]/npo-identity/poms/poms-maven.git && cd maven-release && mvn release:prepare release:perform"