Experiment with buildah scripts.
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 3 Dec 2019 11:24:15 +0000 (12:24 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 3 Dec 2019 11:24:15 +0000 (12:24 +0100)
dist/containers/argeo2-builder-openjdk [new file with mode: 0755]
dist/containers/argeo2-openjdk [new file with mode: 0755]
dist/containers/argeo2-tp-openjdk [new file with mode: 0755]
dist/containers/buildah-common [new file with mode: 0755]

diff --git a/dist/containers/argeo2-builder-openjdk b/dist/containers/argeo2-builder-openjdk
new file mode 100755 (executable)
index 0000000..5f573a3
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+container=$(buildah from centos:centos8)
+
+buildah config --label release="1" $container
+# Use argeo-osgi-plugin version for the time being
+buildah config --label version="2.1.1" $container
+
+source "$(dirname "$0")/buildah-common"
+
+# Metadata
+buildah config --label name="argeo2-builder-openjdk11-ubi8" $container
+buildah config --label summary="Argeo 2 Builder based on OpenJDK 11 and Red Hat UBI 8" $container
+
+# Utilities
+buildah run $container -- dnf -y install rpm-build
+buildah run $container -- dnf -y install git
+
+# Java 11
+buildah run $container -- dnf -y install java-11-openjdk-devel
+# Maven
+buildah run $container -- dnf -y install maven
+
+# Perform a build of argeo-commons
+buildah run $container -- mkdir -p /root/dev/git/apache2/
+buildah run $container -- mkdir -p /srv/rpmfactory/
+buildah run $container -- mkdir -p /srv/javafactory/
+buildah run $container -- git clone http://git.argeo.org/apache2/argeo-commons.git /root/dev/git/apache2/argeo-commons
+buildah run $container -- "cd /root/dev/git/apache2/argeo-commons && mvn clean argeo-osgi:pde-sources deploy -Prpmbuild"
+buildah run $container -- "cd /root/dev/git/apache2/argeo-commons && mvn dependency:go-offline"
+
+# TODO clean up build directories
+
+# Configuration
+buildah config --workingdir /root/dev/git/ $container
+
+buildah commit $container argeo2-builder-openjdk:latest
diff --git a/dist/containers/argeo2-openjdk b/dist/containers/argeo2-openjdk
new file mode 100755 (executable)
index 0000000..fc64c86
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+container=$(buildah from argeo2-tp-openjdk)
+
+buildah config --label release="1" $container
+buildah config --label version="2.1.83,SNAPSHOT" $container
+
+source "$(dirname "$0")/buildah-common"
+
+# Metadata
+buildah config --label name="argeo2-openjdk11-ubi8" $container
+buildah config --label summary="Argeo 2 Node based on OpenJDK 11 and Red Hat UBI 8" $container
+
+# Argeo Node
+buildah run $container -- microdnf install argeo-cms-e4-rap argeo-node
+
+# Configuration
+buildah config --entrypoint '["/usr/sbin/argeoctl","start"]' $container
+buildah config --port 8080 $container
+
+buildah commit $container argeo2-node:latest
diff --git a/dist/containers/argeo2-tp-openjdk b/dist/containers/argeo2-tp-openjdk
new file mode 100755 (executable)
index 0000000..cddfe97
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+container=$(buildah from ubi8/ubi-minimal)
+
+buildah config --label release="1" $container
+buildah config --label version="2.1.25" $container
+
+source "$(dirname "$0")/buildah-common"
+
+# Metadata
+buildah config --label name="argeo2-tp-openjdk11-ubi8" $container
+buildah config --label summary="Argeo 2 OSGi Third Parties based on OpenJDK 11 and Red Hat UBI 8" $container
+
+# Java 11
+buildah run $container -- microdnf install java-11-openjdk-headless
+
+# Argeo
+buildah run $container -- rpm -Uvh http://repo.argeo.org/rpm/argeo2-release-latest-7.noarch.rpm
+# Argeo Third Parties
+buildah run $container -- microdnf install argeo-cms-e4-rap-tp osgi-boot-equinox
+# Argeo OSGi Boot
+buildah run $container -- microdnf install osgi-boot
+
+# Configuration
+buildah config --entrypoint '["java","-Dosgi.bundles=org.argeo.osgi.boot.jar@start","-Dosgi.configuration=/var/lib/argeo/state","-Dosgi.data=/var/lib/argeo/data","-jar","/usr/share/osgi/boot/org.eclipse.osgi.jar","-console","2323"]' $container
+buildah config --workingdir /var/lib/argeo $container
+buildah config --volume /var/lib/argeo $container
+
+buildah commit $container argeo2-tp:latest
diff --git a/dist/containers/buildah-common b/dist/containers/buildah-common
new file mode 100755 (executable)
index 0000000..aa7265e
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+## Log-in to Red Hat registry first
+# podman login registry.redhat.io
+
+# Metadata
+buildah config --label maintainer="Mathieu Baudier, mbaudier at argeo.org" $container
+buildah config --created-by "Mathieu Baudier, mbaudier at argeo.org" $container
+buildah config --author "Argeo GmbH, http://www.argeo.org, contact at argeo.org" $container
+buildah config --label vendor="Argeo GmbH" $container