Skip to content

Commit

Permalink
upgrade to v2.24.0 (#582)
Browse files Browse the repository at this point in the history
* Upgraded GeoServer from version 2.23.2 to 2.24.0 and reorder action to build image before testing
  • Loading branch information
NyakudyaA authored Oct 22, 2023
1 parent 39cac82 commit 4c8feec
Show file tree
Hide file tree
Showing 23 changed files with 111 additions and 218 deletions.
6 changes: 3 additions & 3 deletions .env
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
COMPOSE_PROJECT_NAME=kartozageoserver

IMAGE_VERSION=9.0.73-jdk11-temurin-focal
GS_VERSION=2.23.2
GS_VERSION=2.24.0
GEOSERVER_PORT=8600
# Build Arguments
JAVA_HOME=/opt/java/openjdk
WAR_URL=http://downloads.sourceforge.net/project/geoserver/GeoServer/2.23.2/geoserver-2.23.2-war.zip
WAR_URL=http://downloads.sourceforge.net/project/geoserver/GeoServer/2.24.0/geoserver-2.24.0-war.zip
STABLE_PLUGIN_BASE_URL=https://sourceforge.net/projects/geoserver/files/GeoServer
DOWNLOAD_ALL_STABLE_EXTENSIONS=1
DOWNLOAD_ALL_COMMUNITY_EXTENSIONS=1
Expand Down Expand Up @@ -94,7 +94,7 @@ TOGGLE_MASTER=true
TOGGLE_SLAVE=true
EMBEDDED_BROKER=enabled
# kartoza/postgis env variables https://github.com/kartoza/docker-postgis
POSTGIS_VERSION_TAG=15-3.3
POSTGIS_VERSION_TAG=16-3.4
POSTGRES_DB=gis,gwc
POSTGRES_USER=docker
POSTGRES_PASS=docker
Expand Down
73 changes: 37 additions & 36 deletions .github/workflows/build-latest.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
name: build-latest
on:
# workflow_dispatch:
# inputs:
# distro:
# description: Base image distro
# required: true
# default: debian
# imageVersion:
# description: Base distro image version/release
# required: true
# default: bullseye
# imageVariant:
# description: Base image variant
# required: true
# default: slim
workflow_dispatch:
pull_request:
branches:
Expand All @@ -22,7 +8,7 @@ on:
branches:
- develop
jobs:
run-scenario-tests:
build-docker-image:
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -32,24 +18,14 @@ jobs:
- image: 9.0.73-jdk11-temurin-focal
javaHome: /opt/java/openjdk
geoserverMinorVersion:
- minor: 22
patch: 4
- minor: 23
patch: 2
- minor: 24
patch: 0
downloadAllStableExtensions:
- 1
downloadAllCommunityExtensions:
- 1
stablePluginBaseURL:
- https://sourceforge.net/projects/geoserver/files/GeoServer
scenario:
- gwc
- login
- stores
- context
- contexts
- disk-quota
- clustering
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
Expand All @@ -65,6 +41,7 @@ jobs:
push: false
load: true
tags: kartoza/geoserver:manual-build
outputs: type=docker,dest=/tmp/geoserver.tar
build-args: |
IMAGE_VERSION=${{ matrix.imageVersion.image }}
JAVA_HOME=${{ matrix.imageVersion.javaHome }}
Expand All @@ -78,20 +55,47 @@ jobs:
type=gha,scope=prod
cache-to: type=gha,scope=test
target: geoserver-test
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: kartoza-geoserver
path: /tmp/geoserver.tar


run-scenario-tests:
runs-on: ubuntu-latest
needs: build-docker-image
strategy:
matrix:
scenario:
- gwc
- login
- stores
- context
- disk-quota
- clustering
steps:
- uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: kartoza-geoserver
path: /tmp
- name: Load image
run: |
docker load --input /tmp/geoserver.tar
- name: Run scenario test ${{ matrix.scenario }}
working-directory: scenario_tests/${{ matrix.scenario }}
env:
COMPOSE_INTERACTIVE_NO_CLI: 1
PRINT_TEST_LOGS: 1
run: |
# Use the built Docker image to run scenario tests
bash ./test.sh
push-internal-pr-images:
if: github.event_name == 'pull_request' && github.event.pull_request.base.repo.url == github.event.pull_request.head.repo.url
runs-on: ubuntu-latest
needs: [ run-scenario-tests ]
needs: [run-scenario-tests]
strategy:
matrix:
geoserverMajorVersion:
Expand All @@ -100,10 +104,8 @@ jobs:
- image: 9.0.73-jdk11-temurin-focal
javaHome: /opt/java/openjdk
geoserverMinorVersion:
- minor: 22
patch: 4
- minor: 23
patch: 2
- minor: 24
patch: 0
downloadAllStableExtensions:
- 1
downloadAllCommunityExtensions:
Expand Down Expand Up @@ -133,17 +135,16 @@ jobs:
tags: |
type=semver,pattern=\d.\d.\d
type=ref,event=branch
type=ref,event=pr
- name: Build image for testing
id: docker_build_testing_image
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile
push: true
push: false
tags: |
${{ steps.docker_meta.outputs.tags }}-${{ matrix.geoserverMajorVersion }}.${{ matrix.geoserverMinorVersion.minor }}.${{ matrix.geoserverMinorVersion.patch }}
kartoza/geoserver:manual-build
build-args: |
IMAGE_VERSION=${{ matrix.imageVersion.image }}
JAVA_HOME=${{ matrix.imageVersion.javaHome }}
Expand Down
21 changes: 4 additions & 17 deletions .github/workflows/deploy-image.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,6 @@
name: deploy-image
on:
workflow_dispatch:
# inputs:
# distro:
# description: Base image distro
# required: true
# default: debian
# imageVersion:
# description: Base distro image version/release
# required: true
# default: bullseye
# imageVariant:
# description: Base image variant
# required: true
# default: slim
workflow_run:
workflows:
- build-latest
Expand All @@ -34,10 +21,10 @@ jobs:
- image: 9.0.73-jdk11-temurin-focal
javaHome: /opt/java/openjdk
geoserverMinorVersion:
- minor: 22
patch: 4
- minor: 23
patch: 2
- minor: 24
patch: 0
#- minor: 23
#patch: 2
downloadAllStableExtensions:
- 1
downloadAllCommunityExtensions:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ARG JAVA_HOME=/opt/java/openjdk
FROM tomcat:$IMAGE_VERSION AS geoserver-prod

LABEL maintainer="Tim Sutton<[email protected]>"
ARG GS_VERSION=2.23.2
ARG GS_VERSION=2.24.0
ARG WAR_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/geoserver-${GS_VERSION}-war.zip
ARG STABLE_PLUGIN_BASE_URL=https://sourceforge.net/projects/geoserver/files/GeoServer
ARG DOWNLOAD_ALL_STABLE_EXTENSIONS=1
Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ The preferred way (but using most bandwidth for the initial image) is to
get our docker trusted build like this:

```shell
VERSION=2.23.2
VERSION=2.24.0
docker pull kartoza/geoserver:$VERSION
```
### Building the image
Expand Down Expand Up @@ -102,7 +102,7 @@ For community plugins run the command below:
For stable plugins run the command below:
```bash
cd ./build_data
python3 stable_plugins.py 2.23.2 https://sourceforge.net/projects/geoserver/files/GeoServer
python3 stable_plugins.py 2.24.0 https://sourceforge.net/projects/geoserver/files/GeoServer

```

Expand All @@ -120,13 +120,13 @@ To build using a specific tagged release for tomcat image set the
to choose which tag you need to build against.

```
ie VERSION=2.23.2
docker build --build-arg IMAGE_VERSION=8-jre8 --build-arg GS_VERSION=2.23.2 -t kartoza/geoserver:${VERSION} .
ie VERSION=2.24.0
docker build --build-arg IMAGE_VERSION=8-jre8 --build-arg GS_VERSION=2.24.0 -t kartoza/geoserver:${VERSION} .
```

For some recent builds it is necessary to set the JAVA_PATH as well (e.g. Apache Tomcat/9.0.36)
```
docker build --build-arg IMAGE_VERSION=9-jdk11-openjdk-slim --build-arg JAVA_HOME=/usr/local/openjdk-11/bin/java --build-arg GS_VERSION=2.23.2 -t kartoza/geoserver:2.23.2 .
docker build --build-arg IMAGE_VERSION=9-jdk11-openjdk-slim --build-arg JAVA_HOME=/usr/local/openjdk-11/bin/java --build-arg GS_VERSION=2.24.0 -t kartoza/geoserver:2.24.0 .
```

**Note:** Please check the [GeoServer documentation](https://docs.geoserver.org/stable/en/user/production/index.html)
Expand Down Expand Up @@ -197,7 +197,7 @@ The image ships with the following stable plugins:
* csw-plugin

**Note:** The plugins listed above are omitted from [Stable_plugins.txt](https://github.com/kartoza/docker-geoserver/blob/master/build_data/stable_plugins.txt)
even though they are considered [stable plugins](https://sourceforge.net/projects/geoserver/files/GeoServer/2.23.2/extensions/)
even though they are considered [stable plugins](https://sourceforge.net/projects/geoserver/files/GeoServer/2.24.0/extensions/)
The image activates them on startup.

The image provides the necessary plugin zip files which are used when activating the
Expand All @@ -215,7 +215,7 @@ The environment variable `STABLE_EXTENSIONS` can be used to activate plugins lis
Example

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -d -p 8600:8080 --name geoserver -e STABLE_EXTENSIONS=charts-plugin,db2-plugin kartoza/geoserver:${VERSION}
```
Expand All @@ -236,7 +236,7 @@ The environment variable `COMMUNITY_EXTENSIONS` can be used to activate plugins
Example

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -d -p 8600:8080 --name geoserver -e COMMUNITY_EXTENSIONS=gwc-sqlite-plugin,ogr-datastore-plugin kartoza/geoserver:${VERSION}
```
Expand All @@ -254,7 +254,7 @@ Geoserver ships with sample data which can be used by users to familiarize them
This is not activated by default. You can activate it using the environment variable `SAMPLE_DATA=true`

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -d -p 8600:8080 --name geoserver -e SAMPLE_DATA=true kartoza/geoserver:${VERSION}
```
Expand Down Expand Up @@ -345,14 +345,14 @@ If you set the environment variable `SSL=true` but do not provide the pem files
the container will generate a self-signed SSL certificates.

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -it --name geoserver -e PKCS12_PASSWORD=geoserver -e JKS_KEY_PASSWORD=geoserver -e JKS_STORE_PASSWORD=geoserver -e SSL=true -p 8443:8443 -p 8600:8080 kartoza/geoserver:${VERSION}
```

If you already have your perm files (fullchain.pem and privkey.pem) you can mount the directory containing your keys as:

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -it --name geo -v /etc/certs:/etc/certs -e PKCS12_PASSWORD=geoserver -e JKS_KEY_PASSWORD=geoserver -e JKS_STORE_PASSWORD=geoserver -e SSL=true -p 8443:8443 -p 8600:8080 kartoza/geoserver:${VERSION}
```
Expand Down Expand Up @@ -428,7 +428,7 @@ To include Tomcat extras including docs, examples, and the manager webapp, set t
to use a strong password otherwise the default one is set up.

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -it --name geoserver -e TOMCAT_EXTRAS=true -p 8600:8080 kartoza/geoserver:${VERSION}
```

Expand All @@ -455,7 +455,7 @@ If you have downloaded extra fonts you can mount the folder to the path
path during initialisation.

```
ie VERSION=2.23.2
ie VERSION=2.24.0
docker run -v fonts:/opt/fonts -p 8080:8080 -t kartoza/geoserver:${VERSION}
```

Expand Down
20 changes: 13 additions & 7 deletions build_data/community_plugins.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ backup-restore-plugin
cog-plugin
colormap-plugin
cov-json-plugin
dataidr-catalog-loader-plugin
dds-plugin
dyndimension-plugin
elasticsearch-plugin
Expand All @@ -18,6 +19,7 @@ gwc-distributed-plugin
gwc-mbtiles-plugin
gwc-sqlite-plugin
hz-cluster-plugin
imagemap-plugin
importer-jdbc-plugin
jdbc-metrics-plugin
jdbcconfig-plugin
Expand All @@ -30,14 +32,19 @@ mongodb-schemaless-plugin
ncwms-plugin
netcdf-ghrsst-plugin
notification-plugin
nsg-wmts-profile-plugin
ogcapi-plugin
ogcapi-coverages-plugin
ogcapi-dggs-plugin
ogcapi-features-plugin
ogcapi-images-plugin
ogcapi-maps-plugin
ogcapi-styles-plugin
ogcapi-tiled-features-plugin
ogcapi-tiles-plugin
ogr-datastore-plugin
opensearch-eo-plugin
ows-simulate-plugin
pgraster-plugin
proxy-base-ext-plugin
s3-geotiff-plugin
saml-plugin
sec-keycloak-plugin
sec-oauth2-geonode-plugin
sec-oauth2-github-plugin
Expand All @@ -49,10 +56,9 @@ spatialjson-plugin
stac-datastore-plugin
taskmanager-core-plugin
taskmanager-s3-plugin
teradata-plugin
vector-mosaic-plugin
vsi-plugin
webp-plugin
wms-eo-plugin
wmts-styles-plugin
wps-longitudinal-profile-plugin
wps-remote-plugin
xslt-plugin
3 changes: 1 addition & 2 deletions build_data/stable_plugins.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ geopkg-output-plugin
grib-plugin
gwc-s3-plugin
h2-plugin
imagemap-plugin
iau-plugin
importer-plugin
inspire-plugin
jp2k-plugin
Expand Down Expand Up @@ -48,5 +48,4 @@ wps-cluster-hazelcast-plugin
wps-download-plugin
wps-jdbc-plugin
wps-plugin
xslt-plugin
ysld-plugin
Loading

0 comments on commit 4c8feec

Please sign in to comment.