The module creates Sling feature archives (FAR), launcher JAR with embedded feature archives and docker images for running both Sling Starter 12 with updated Composum Nodes, and also Sling Starter 12 with all public Composum Sling projects. Those are distributed through maven central and dockerhub.
The process of updating when new versions of the Composum Components are released is as follows.
Since normally the platform and pages version are in sync, we use this joined version also as version for the various artifacts of composum-launch. If there are updates despite having the same pages version, we might have to use versions like 1.5.2.1 .
There are integration tests for the feature starters and for the docker images that check whether all bundles start and there is a minimum number of bundles, whether a number of URLs work and. So you'll probably need to verify only that the docker images work, if there aren't big changes.
- Update the version numbers in the develop branch to the latest Composum releases. In determining all the latest versions, composum-launch/startup/featurelauncher/bin/composumVersions.sh might be helpful. The version numbers are defined in the top level composum-launch/pom.xml ; composum-launch/startup/featurelauncher/pom.xml contains the corresponding snapshot versions for experiments.
- Build locally
- Optional: feature/nodesstarter
- go to composum-launch/feature/nodesstarter/target
- java -jar composum-launcher-feature-nodesstarter-*-oak_tar-launcher.jar
- log in into http://localhost:8080/starter.html and check that the browser works and has the right version.
- Optional: feature/nodesstarter
- go to composum-launch/feature/nodesstarter/target
- java -jar composum-launcher-feature-nodesstarter-*-oak_tar-launcher.jar
- log in into http://localhost:8080/starter.html and check that the browser works and has the right version.
- Less optional: composum-launch/feature/composumstarter
- go to composum-launch/feature/composumstarter
- start with
bin/start.sh
- run quickcheck (see below)
- stop with Crtl-C
- Optional: docker/featurelauncher
- start with
start.sh
- log in into http://localhost:8080/starter.html and check that the browser works and has the right version.
- stop with Ctrl-C
- start with
- docker/composumlauncher
- start with
start.sh
- run quickcheck (see below)
- install a site e.g. cpm-site-composum with package manager,
- mvn -P cpmLocalDefault,installPackage install
- install a site e.g. by copying package to target/run/fileinstall
- start with
- start the job https://github.com/ist-dresden/composum-launch/actions/workflows/dockerdeploy.yml on branch develop
- test as in "Release project" below but with the snapshot version
- set "develop" tag with bin/tagdockerhubdevelop_all.sh {version}
For releasing there are some Github actions https://github.com/ist-dresden/composum-launch/actions :
-
Create Release
- check tag is set; wait >30min before checking on maven central.
-
Check state of git branches
-
Create docker images with "Build and deploy docker images" on branch master
-
Check that there are new releases on docker-hub
-
Pull from dockerhub and try docker image and check it runs:
-
docker pull composum/featurelauncher-nodes:{version}
-
docker run --rm -p 8080:8080 composum/featurelauncher-nodes:{version}
-
docker pull composum/featurelauncher-composum:{version}
-
docker run --rm -p 8080:8080 -e OPENAI_API_KEY=$OPENAI_API_KEY composum/featurelauncher-composum:{version}
-
-
set "latest" tag: scripts bin/tagdockerhublatest_all.sh {version}
- Test possibly with scripts start-*-from-dockerhub.sh in the docker projects
Check http://localhost:8080/
- Sling console: all bundles active? Composum versions correct?
- quick look at browser, user manager, package manager
- have a look at composum site, e.g. http://localhost:8080/bin/pages.html/content/ist/composum/home/platform
- create simple site in pages, publish, create release, in-place replication + check replicated result in browser
The logfiles are at target/run/logs.
Start with pages/docker/start-from-dockerhub.sh :
- install less for logfile viewing with e.g.
docker exec -it -u root composum-pages-develop yum install -y less
- attach to container with
docker exec -it composum-pages-develop bash
- Starter derived from newest release of sling starter https://github.com/apache/sling-org-apache-sling-starter/releases
If you have xmlstarlet (e.g. package xmlstarlet from https://brew.sh/) installed, the following command prints the versions of the pom.xml below a main directory: for fil in */pom.xml ; do xml sel -T -N pom=http://maven.apache.org/POM/4.0.0 -t -m pom:project -v pom:groupId -o : -v pom:artifactId -o : -v pom: version -nl $fil done
Helper for that: mvn -DallowDowngrade=true -DgenerateBackupPoms=false -DprocessParent=true versions:update-properties versions: update-parent If you want the latest snapshots: mvn -DallowSnapshots=true -DgenerateBackupPoms=false -DprocessParent=true versions:update-properties versions: update-parent
Possibly interesting other goals: https://www.mojohaus.org/versions-maven-plugin/ versions:use-latest-releases versions:commit or -DgenerateBackupPoms=false
mvn versions:display-dependency-updates versions:display-parent-updates versions:display-property-updates mvn versions:display-plugin-updates