Improve containers.
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 17 Dec 2019 12:36:06 +0000 (13:36 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 17 Dec 2019 12:36:06 +0000 (13:36 +0100)
dist/containers/.gitignore [new file with mode: 0644]
dist/containers/argeo2-builder [new file with mode: 0755]
dist/containers/argeo2-builder-openjdk [deleted file]
dist/containers/argeo2-node
dist/containers/argeo2-tp
dist/containers/buildah-common
dist/containers/filtered/buildah-metadata [new file with mode: 0644]
dist/containers/maven.conf [new file with mode: 0644]
dist/containers/pom.xml [new file with mode: 0644]
dist/pom.xml

diff --git a/dist/containers/.gitignore b/dist/containers/.gitignore
new file mode 100644 (file)
index 0000000..5a22007
--- /dev/null
@@ -0,0 +1 @@
+/buildah-metadata
diff --git a/dist/containers/argeo2-builder b/dist/containers/argeo2-builder
new file mode 100755 (executable)
index 0000000..e0f8f1b
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+container=$(buildah from ubi8/ubi-minimal)
+
+
+source "$(dirname "$0")/buildah-common"
+
+buildah config --label release="1" $container
+buildah config --label version="$VERSION" $container
+
+# 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 -- microdnf -y install git
+
+# Java 11
+buildah run $container -- microdnf -y install java-11-openjdk-devel
+# Maven
+buildah run $container -- microdnf -y install maven
+buildah copy $container maven.conf /etc/java/maven.conf
+
+buildah run $container -- mkdir -p /srv/javafactory/
+
+# Working dir
+buildah run $container -- mkdir -p /root/checkout/
+buildah config --workingdir /root/checkout/ $container
+
+# Perform a build of argeo-commons
+#buildah run $container -- /usr/bin/git clone http://git.argeo.org/apache2/argeo-commons.git .
+buildah copy $container ../.. /root/checkout
+buildah run $container -- /usr/bin/mvn clean install
+buildah run $container -- /usr/bin/mvn dependency:go-offline
+# Clean up build directories
+buildah run $container -- /usr/bin/rm -rf /root/.m2/repository/org/argeo/commons
+buildah run $container -- /usr/bin/rm -rf /root/checkout
+buildah run $container -- mkdir -p /root/checkout/
+
+# Configuration
+#buildah config --workingdir /root/checkout/ $container
+#buildah config --entrypoint '["/usr/bin/mvn","clean","deploy"]' $container
+buildah config --cmd '/usr/bin/mvn clean deploy' $container
+
+buildah commit $container argeo2-builder:latest
diff --git a/dist/containers/argeo2-builder-openjdk b/dist/containers/argeo2-builder-openjdk
deleted file mode 100755 (executable)
index 5f573a3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/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
index fbc4089c253762f1dc97ad4550b527921fef2bff..3e0da2ced98c520c31bd710e6b2ca02fdf53362b 100755 (executable)
@@ -2,11 +2,11 @@
 
 container=$(buildah from argeo2-tp)
 
-buildah config --label release="1" $container
-buildah config --label version="2.1.83,SNAPSHOT" $container
-
 source "$(dirname "$0")/buildah-common"
 
+buildah config --label release="1" $container
+buildah config --label version="$VERSION" $container
+
 # 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
index cddfe97d1856063088059e27d9102df776a07d54..c2f77bfaaa1a2dae42221f4db4dd6668075c4828 100755 (executable)
@@ -2,11 +2,11 @@
 
 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"
 
+buildah config --label release="1" $container
+buildah config --label version="$VERSION_ARGEO_TP" $container
+
 # 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
index aa7265e0bd5e08ca498cc280d67d76dc56b53f62..da311af2c3870c3e7f2747f44591af439644571c 100755 (executable)
@@ -3,6 +3,8 @@
 ## Log-in to Red Hat registry first
 # podman login registry.redhat.io
 
+source ./buildah-metadata
+
 # Metadata
 buildah config --label maintainer="Mathieu Baudier, mbaudier at argeo.org" $container
 buildah config --created-by "Mathieu Baudier, mbaudier at argeo.org" $container
diff --git a/dist/containers/filtered/buildah-metadata b/dist/containers/filtered/buildah-metadata
new file mode 100644 (file)
index 0000000..2395b01
--- /dev/null
@@ -0,0 +1,2 @@
+VERSION=${project.version}
+VERSION_ARGEO_TP=${version.argeo-tp}
diff --git a/dist/containers/maven.conf b/dist/containers/maven.conf
new file mode 100644 (file)
index 0000000..e96cfc7
--- /dev/null
@@ -0,0 +1 @@
+JAVA_HOME=/usr/lib/jvm/java-11-openjdk
diff --git a/dist/containers/pom.xml b/dist/containers/pom.xml
new file mode 100644 (file)
index 0000000..32ab164
--- /dev/null
@@ -0,0 +1,39 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.argeo.commons</groupId>
+               <version>2.1.84-SNAPSHOT</version>
+               <artifactId>dist</artifactId>
+               <relativePath>..</relativePath>
+       </parent>
+       <artifactId>containers</artifactId>
+       <packaging>pom</packaging>
+       <name>Argeo OCI Containers</name>
+       <build>
+               <plugins>
+                       <plugin>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>copy-resources</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>filtered</directory>
+                                                                       <filtering>true</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               </plugins>
+       </build>
+</project>
index 72e52e68288ba61a86f6efdc8009cddcc0b5b776..e23da96302aa511a2af286a89dab6ac93a41ee5a 100644 (file)
@@ -13,5 +13,6 @@
        <modules>
                <module>osgi-boot</module>
                <module>argeo-node</module>
+               <module>containers</module>
        </modules>
 </project>
\ No newline at end of file