Sign inSign up

provocon/coremedia-build

By provocon

•Updated 6 months ago

Image to build CoreMedia CMCC Workspaces with Platform Releases up to 2512 (and starting from 1701)

Image
Developer tools
Content management system
0

10K+

provocon/coremedia-build repository overview

⁠CoreMedia Build Image

This repository provides an image with the required tools to build CoreMedia⁠ Content Cloud 13, 12, 11, 10, CoreMedia CMS-9, and CoreMedia Live Context 3 workspaces for use with podman⁠, Docker, and similar systems. Supported platform versions range from 17nm to 25nm.

Images started to be available for AMD64/x86_64 and ARM64/Aarch64 with CMCC-11.

Ready to use examples for some CI environments are also included. They are meant for unchanged integration with platform workspaces in their state without any customizations. Thus they should form a good starting point for real world projects.

The home for the sources to create the image lives at Codeberg⁠ with a mirror at GitLab⁠ and some pointers at GitHub⁠.

⁠Feedback

Please use the issues⁠ section of this repository at Codeberg⁠ for feedback.

⁠Goals

This image is intended for use in container based CI systems like Forgejo Actions⁠, GitLab CI⁠, or GitHub Actions⁠. Example starting points are included with this repository, which work within the bounds of the public shared runner limitations.

Also, some common tools for additional preparation steps are included like

  • git
  • gnupg
  • cosign
  • openssh

and some compression tools.

We like to support different hardware architectures where appropriate.

⁠Availability

This image can be used via the canonical name provocon/coremedia-build. The tag latest should be expected to be usable for the latest release by CoreMedia⁠.

Tags are named after the first release where the implemented changes are required. Thus, 1801 e.g. can be used for releases cms-9-1801 and onwards. 1904 is the last release intended for CMS-9 and LiveContext 3. 1907 was the first release for CMCC-10, which can be used at least up to CMCC-10-2004 and so on.

  • 2110 is the current release to work with CMCC-10.
  • 2307 is the current release to work with CMCC-11.
  • 2406 is the current release to work with CMCC-12.
  • 2512 is the current release to work with CMCC-13.

The latest Tag works with - at least again - CMCC-13-2512.0.

Unpublished, daily builds are available from the Codeberg⁠ and GitLab⁠ project registries. GitHub⁠ might receive updates.

⁠Usage

See the examples/ directory with usage examples and don't forget the Maven⁠ and NPM⁠ registry setup.

Examples for builds with Forgejo Actions⁠, GitLab CI⁠ and GitHub Actions⁠ will need the additional files in examples/workspace-configuration and a personal Token for pnpm login needs to be created, e.g. through npm-registry-login.sh.

Perhaps you still need to mind some parameters when building CoreMedia Content Cloud, e.g.

mvn install -Dwebdriver.chrome.driver=/usr/bin/chromedriver -Dwebdriver.chrome.verboseLogging=true -DjooUnitWebDriverBrowserArguments=--no-sandbox,--disable-dev-shm-usage

So, with Forgejo Actions⁠, GitLab CI⁠, or GitHub Actions⁠ the steps are

⁠Adding files
  • workspace-configuration/maven-settings.xml
  • workspace-configuration/npm-registry-login.sh

Forgejo Actions⁠:

  • .forgejo/workflows/build.yml

GitLab CI⁠:

  • .gitlab-ci.yml

GitHub Actions⁠:

  • .github/workflows/build.yml
⁠Adding secrets

These values have to be added as CI variables for GitLab CI⁠ and as action secrets for Forgejo Actions⁠ and GitHub Actions⁠ respectively.

CoreMedia Maven Artifacts Repository User and Password:

  • CM_MAVEN_USER
  • CM_MAVEN_PASSWORD

CoreMedia NPM Registry Token:

  • NPMRC_TOKEN

The npmrcraw data can be obtained by using the login script provided in the workspace-configuration folder as indicated above. You will need to update this value every few months.

Optionally add Maven Options

  • MAVEN_OPTS

and use Docker Hub login to extend the download rate.

  • DH_REGISTRY_USER
  • DH_REGISTRY_PASSWORD

⁠Build

⁠Manual Build

The preparation of the container is accomplished using the usual

docker build -t <myname> .

So, for the current version, this is

docker build -t provocon/coremedia-build:2512.0 .
docker build -t provocon/coremedia-build:2512 .
docker build -t provocon/coremedia-build:latest .
docker push provocon/coremedia-build:2512.0
docker push provocon/coremedia-build:2512
docker push provocon/coremedia-build:latest

You could as well use podman⁠ instead of docker in each of the lines.

⁠Scripted Build

Alternatively, you could use the Gradle Build Tool⁠ and issue

./gradlew -Ptag=2512.0 dockerPush
./gradlew -Ptag=2512   dockerPush
./gradlew -Ptag=latest dockerPush

which does all the steps above for you.

⁠Test

Test the resulting generated image with

$ docker run --name docker --rm -it --entrypoint=docker provocon/coremedia-build version
Client:
 Version:           29.1.5
 API version:       1.52
 Go version:        go1.25.6
 Git commit:        0e6fee6
 Built:             Fri Jan 16 12:47:30 2026
 OS/Arch:           linux/arm64
 Context:           default
$ docker run --name buildx --rm -it --entrypoint=docker provocon/coremedia-build buildx version
github.com/docker/buildx v0.30.1 9e66234aa13328a5e75b75aa5574e1ca6d6d9c01
$ docker run --name mvn --rm -it --entrypoint=mvn provocon/coremedia-build -v
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Maven home: /usr/local/maven
Java version: 21.0.10, vendor: Alpine, runtime: /usr/lib/jvm/java-21-openjdk
Default locale: de_DE, platform encoding: UTF-8
OS name: "linux", version: "5.4.17-2136.311.6.1.el8uek.aarch64", arch: "aarch64", family: "unix"
$ docker run --name node --rm -it --entrypoint=node provocon/coremedia-build -v
v24.13.0
$ docker run --name pnpm --rm -it --entrypoint=pnpm provocon/coremedia-build -v
10.28.2
$ docker run --name helm --rm -it --entrypoint=helm provocon/coremedia-build version
version.BuildInfo{Version:"v3.19.5", GitCommit:"4a19a5b6fb912c5c28a779e73f2e0880d9e239a4", GitTreeState:"clean", GoVersion:"go1.24.11"

To call the container image use

docker run -it --rm provocon/coremedia-build /bin/bash

Tag summary

Content type

Image

Digest

sha256:12d67cd13…

Size

363.5 MB

Last updated

6 months ago

docker pull provocon/coremedia-build