Closed beargiles closed 9 months ago
I've fixed the CI/CD on my project (https://github.com/beargiles/postgresql-pljava-docker) - it should automatically build and deploy new images as new official PostgreSQL docker images are released. (No RC versions though.)
Modulo the fact that I'm only checking once a week - I should probably bump that since I've fixed the bug that resulted in repeated builds and deployments.
PLUS
I now build both 'bookworm' and 'bullseye' versions. You aren't forced to use the latest Debian release. I am not building the Alpine version.
PLUS
I've modified the pljava-dev version so it downloads and rebuilds the Debian source package (postgresql-15-pljava). That's usually a good thing if you want to modify a package (e.g., you want to edit pl/java itself) but there's a rather big annoyance that the upstream provider includes the pl/java version in the name of the source directory (postgresql-pljava-1.6.4
). I don't have an easy way to determine this within the Dockerfile so updates to that image will break when the upstream moves to 1.6.5.
It should be easy to fix with a simple shell script - I've been focused on creating a clean Dockerfile first.
FINALLY
I mentioned it above - as I write this the latest official PostgreSQL 14 and 15 packages still use 1.6.4. It will still be far easier to start with this image (simply replace the 1.6.4 jar) than to perform the full installation from scratch.
The official PostgreSQL packages do not yet provide a pljava package for 16rc1.
I've added this to the prebuilt-packages wiki page. Thanks for your patience. I wish GitHub had a few more intermediate wiki-permission options between "nobody else can edit" and "everybody can edit".
Wiki update - for prebuilt docker images
I mentioned this in the mailing list but it doesn't seem to have been picked up.
I have pre-built docker images (on https://hub.docker.com) that extend the official PostgreSQL docker images. It should automatically follow new official releases.
There's three images:
beargiles/postgres-pgxnclient
Official image with only pgxn-client installed. This can be used as the base for other extensions.
beargiles/postgres-pljava
Same as above but with pg/java installed. It includes the default Java 11 JRE.
beargiles/postgres-pljava-dev
Same as above but with everything required to built the extension. Note: this uses Java 17 JDK, not the Java 11 JDK.
This target was motivated by the failure to create the dev environment on Ubuntu 22.10 due to bad dependencies. This problem goes away when using the official PostgreSQL image.
(I haven't been able to consistently install the Java 11 JDK using the default repository configuration.)
Docker image versions
The docker image versions match the upstream image versions. It does not provide the pl/java version.
Notes (not for wiki)
At the moment I've only pushed 15.3 but I'll add 12.x, 13.x, and 14.x in the next few days.
Links
https://hub.docker.com/repositories/beargiles
https://github.com/tada/pljava/wiki/Prebuilt-packages