From: Mathieu Baudier Date: Tue, 3 Dec 2019 11:24:15 +0000 (+0100) Subject: Experiment with buildah scripts. X-Git-Tag: argeo-commons-2.1.83~3 X-Git-Url: http://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=907314e2d64f8d7788cfd7d9f8b1abebdedd4a3a Experiment with buildah scripts. --- diff --git a/dist/containers/argeo2-builder-openjdk b/dist/containers/argeo2-builder-openjdk new file mode 100755 index 000000000..5f573a37d --- /dev/null +++ b/dist/containers/argeo2-builder-openjdk @@ -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 index 000000000..fc64c865b --- /dev/null +++ b/dist/containers/argeo2-openjdk @@ -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 index 000000000..cddfe97d1 --- /dev/null +++ b/dist/containers/argeo2-tp-openjdk @@ -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 index 000000000..aa7265e0b --- /dev/null +++ b/dist/containers/buildah-common @@ -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