Support for nightly builds
parent
b470f7835d
commit
1afa2c8cd1
64
BUILD.md
64
BUILD.md
|
|
@ -54,3 +54,67 @@ docker build \
|
||||||
--build-arg ADDITIONAL_LIBS_PATH={RELATIVE_PATH_TO_YOUR_LIBS}
|
--build-arg ADDITIONAL_LIBS_PATH={RELATIVE_PATH_TO_YOUR_LIBS}
|
||||||
-t {YOUR_TAG} .
|
-t {YOUR_TAG} .
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## How to build from nightly snapshot releases?
|
||||||
|
|
||||||
|
By default ``WAR_ZIP_URL``, ``STABLE_PLUGIN_URL`` make use of sourceforge downloads to obtain official releases.
|
||||||
|
|
||||||
|
Override these arguments to make use of build.geoserver.org nightly releases:
|
||||||
|
|
||||||
|
* ``--build-arg WAR_ZIP_URL=https://build.geoserver.org/geoserver/${GS_VERSION}/geoserver-${GS_VERSION}-latest-war.zip``
|
||||||
|
* ``--build-arg STABLE_PLUGIN_URL=https://build.geoserver.org/geoserver/${GS_VERSION}/ext-latest/``
|
||||||
|
* ``--build-arg COMMUNITY_PLUGIN_URL=https://build.geoserver.org/geoserver/${GS_VERSION}/community-latest/``
|
||||||
|
|
||||||
|
|
||||||
|
Here is a working example for building 2.23.x nightly build::
|
||||||
|
```
|
||||||
|
docker build \
|
||||||
|
--build-arg WAR_ZIP_URL=https://build.geoserver.org/geoserver/2.23.x/geoserver-2.23.x-latest-war.zip \
|
||||||
|
--build-arg STABLE_PLUGIN_URL=https://build.geoserver.org/geoserver/2.23.x/ext-latest/ \
|
||||||
|
--build-arg COMMUNITY_PLUGIN_URL=https://build.geoserver.org/geoserver/2.23.x/community-latest/ \
|
||||||
|
--build-arg GS_VERSION=2.23-SNAPSHOT \
|
||||||
|
-t 2.23.x .
|
||||||
|
```
|
||||||
|
|
||||||
|
When running both stable extensions and community modules can be included:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -it -p 80:8080 \
|
||||||
|
--env INSTALL_EXTENSIONS=true \
|
||||||
|
--env STABLE_EXTENSIONS="ysld" \
|
||||||
|
--env COMMUNITY_EXTENSIONS="ogcapi" \
|
||||||
|
-t 2.23.x
|
||||||
|
```
|
||||||
|
|
||||||
|
Community modules are only available for nightly builds as they have not yet met the requirements for production use. Developers have shared these to attract participation, feedback and funding.
|
||||||
|
|
||||||
|
## How to build from main snapshot releases?
|
||||||
|
|
||||||
|
The build.geoserver.org output for the ``main`` branch requires the following:
|
||||||
|
|
||||||
|
* ``--build-arg WAR_ZIP_URL=https://build.geoserver.org/geoserver/main/geoserver-main-latest-war.zip``
|
||||||
|
* ``--build-arg STABLE_PLUGIN_URL=https://build.geoserver.org/geoserver/main/ext-latest/``
|
||||||
|
* ``--build-arg COMMUNITY_PLUGIN_URL=https://build.geoserver.org/geoserver/main/community-latest/``
|
||||||
|
|
||||||
|
|
||||||
|
Here is a working example for building main branch as 2.24.x build:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker build \
|
||||||
|
--build-arg WAR_ZIP_URL=https://build.geoserver.org/geoserver/main/geoserver-main-latest-war.zip \
|
||||||
|
--build-arg STABLE_PLUGIN_URL=https://build.geoserver.org/geoserver/main/ext-latest/ \
|
||||||
|
--build-arg COMMUNITY_PLUGIN_URL=https://build.geoserver.org/geoserver/main/community-latest/ \
|
||||||
|
--build-arg GS_VERSION=2.24-SNAPSHOT \
|
||||||
|
-t 2.24.x .
|
||||||
|
```
|
||||||
|
|
||||||
|
When running both [stable extensions](https://build.geoserver.org/geoserver/main/ext-latest/) and [community modules](https://build.geoserver.org/geoserver/main/community-latest/) can be included:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -it -p 80:8080 \
|
||||||
|
--env INSTALL_EXTENSIONS=true \
|
||||||
|
--env STABLE_EXTENSIONS="wps,css" \
|
||||||
|
--env COMMUNITY_EXTENSIONS="ogcapi-coverages,ogcapi-dggs,ogcapi-features,ogcapi-images,ogcapi-maps,ogcapi-styles,ogcapi-tiled-features,ogcapi-tiles" \
|
||||||
|
-t 2.24.x
|
||||||
|
```
|
||||||
|
|
||||||
|
|
|
||||||
13
Dockerfile
13
Dockerfile
|
|
@ -1,9 +1,9 @@
|
||||||
FROM ubuntu:22.04
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
# The GS_VERSION argument could be used like this to overwrite the default:
|
# The GS_VERSION argument could be used like this to overwrite the default:
|
||||||
# docker build --build-arg GS_VERSION=2.21.2 -t geoserver:2.21.2 .
|
# docker build --build-arg GS_VERSION=2.23.0 -t geoserver:2.23.0 .
|
||||||
ARG TOMCAT_VERSION=9.0.68
|
ARG TOMCAT_VERSION=9.0.74
|
||||||
ARG GS_VERSION=2.22.0
|
ARG GS_VERSION=2.23.0
|
||||||
ARG GS_DATA_PATH=./geoserver_data/
|
ARG GS_DATA_PATH=./geoserver_data/
|
||||||
ARG ADDITIONAL_LIBS_PATH=./additional_libs/
|
ARG ADDITIONAL_LIBS_PATH=./additional_libs/
|
||||||
ARG ADDITIONAL_FONTS_PATH=./additional_fonts/
|
ARG ADDITIONAL_FONTS_PATH=./additional_fonts/
|
||||||
|
|
@ -11,7 +11,9 @@ ARG CORS_ENABLED=false
|
||||||
ARG CORS_ALLOWED_ORIGINS=*
|
ARG CORS_ALLOWED_ORIGINS=*
|
||||||
ARG CORS_ALLOWED_METHODS=GET,POST,PUT,DELETE,HEAD,OPTIONS
|
ARG CORS_ALLOWED_METHODS=GET,POST,PUT,DELETE,HEAD,OPTIONS
|
||||||
ARG CORS_ALLOWED_HEADERS=*
|
ARG CORS_ALLOWED_HEADERS=*
|
||||||
|
ARG WAR_ZIP_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/geoserver-${GS_VERSION}-war.zip
|
||||||
ARG STABLE_PLUGIN_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/extensions
|
ARG STABLE_PLUGIN_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/extensions
|
||||||
|
ARG COMMUNITY_PLUGIN_URL=''
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
ENV CATALINA_HOME=/opt/apache-tomcat-${TOMCAT_VERSION}
|
ENV CATALINA_HOME=/opt/apache-tomcat-${TOMCAT_VERSION}
|
||||||
|
|
@ -26,8 +28,11 @@ ENV CORS_ALLOWED_METHODS=$CORS_ALLOWED_METHODS
|
||||||
ENV CORS_ALLOWED_HEADERS=$CORS_ALLOWED_HEADERS
|
ENV CORS_ALLOWED_HEADERS=$CORS_ALLOWED_HEADERS
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV INSTALL_EXTENSIONS=false
|
ENV INSTALL_EXTENSIONS=false
|
||||||
|
ENV WAR_ZIP_URL=$WAR_ZIP_URL
|
||||||
ENV STABLE_EXTENSIONS=''
|
ENV STABLE_EXTENSIONS=''
|
||||||
ENV STABLE_PLUGIN_URL=$STABLE_PLUGIN_URL
|
ENV STABLE_PLUGIN_URL=$STABLE_PLUGIN_URL
|
||||||
|
ENV COMMUNITY_EXTENSIONS=''
|
||||||
|
ENV COMMUNITY_PLUGIN_URL=$COMMUNITY_PLUGIN_URL
|
||||||
ENV ADDITIONAL_LIBS_DIR=/opt/additional_libs/
|
ENV ADDITIONAL_LIBS_DIR=/opt/additional_libs/
|
||||||
ENV ADDITIONAL_FONTS_DIR=/opt/additional_fonts/
|
ENV ADDITIONAL_FONTS_DIR=/opt/additional_fonts/
|
||||||
ENV SKIP_DEMO_DATA=false
|
ENV SKIP_DEMO_DATA=false
|
||||||
|
|
@ -63,7 +68,7 @@ RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VERSION}/b
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
|
|
||||||
# install geoserver
|
# install geoserver
|
||||||
RUN wget -q -O /tmp/geoserver.zip https://downloads.sourceforge.net/project/geoserver/GeoServer/$GEOSERVER_VERSION/geoserver-$GEOSERVER_VERSION-war.zip && \
|
RUN wget -q -O /tmp/geoserver.zip $WAR_ZIP_URL && \
|
||||||
unzip geoserver.zip geoserver.war -d $CATALINA_HOME/webapps && \
|
unzip geoserver.zip geoserver.war -d $CATALINA_HOME/webapps && \
|
||||||
mkdir -p $CATALINA_HOME/webapps/geoserver && \
|
mkdir -p $CATALINA_HOME/webapps/geoserver && \
|
||||||
unzip -q $CATALINA_HOME/webapps/geoserver.war -d $CATALINA_HOME/webapps/geoserver && \
|
unzip -q $CATALINA_HOME/webapps/geoserver.war -d $CATALINA_HOME/webapps/geoserver && \
|
||||||
|
|
|
||||||
16
README.md
16
README.md
|
|
@ -18,19 +18,19 @@ This README.md file covers use of official docker image, additional [build](BULD
|
||||||
To pull an official image use ``docker.osgeo.org/geoserver:{{VERSION}}``, e.g.:
|
To pull an official image use ``docker.osgeo.org/geoserver:{{VERSION}}``, e.g.:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker pull docker.osgeo.org/geoserver:2.22.0
|
docker pull docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Afterwards you can run the pulled image locally with:
|
Afterwards you can run the pulled image locally with:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -it -p 80:8080 docker.osgeo.org/geoserver:2.22.0
|
docker run -it -p 80:8080 docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Or if you want to start the container daemonized, use e.g.:
|
Or if you want to start the container daemonized, use e.g.:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -d -p 80:8080 docker.osgeo.org/geoserver:2.22.0
|
docker run -d -p 80:8080 docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Check <http://localhost/geoserver> to see the geoserver page,
|
Check <http://localhost/geoserver> to see the geoserver page,
|
||||||
|
|
@ -47,7 +47,7 @@ To use an external folder as your geoserver data directory.
|
||||||
```shell
|
```shell
|
||||||
docker run -it -p 80:8080 \
|
docker run -it -p 80:8080 \
|
||||||
--mount src="/absolute/path/on/host",target=/opt/geoserver_data/,type=bind \
|
--mount src="/absolute/path/on/host",target=/opt/geoserver_data/,type=bind \
|
||||||
docker.osgeo.org/geoserver:2.22.0
|
docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
An empty data directory will be populated on first use. You can easily update GeoServer while
|
An empty data directory will be populated on first use. You can easily update GeoServer while
|
||||||
|
|
@ -62,7 +62,7 @@ The environment variable `SKIP_DEMO_DATA` can be set to `true` to create an empt
|
||||||
```shell
|
```shell
|
||||||
docker run -it -p 80:8080 \
|
docker run -it -p 80:8080 \
|
||||||
--env SKIP_DEMO_DATA=true \
|
--env SKIP_DEMO_DATA=true \
|
||||||
docker.osgeo.org/geoserver:2.22.0
|
docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to issue a redirect from the root ("/") to GeoServer web interface ("/geoserver/web")?
|
## How to issue a redirect from the root ("/") to GeoServer web interface ("/geoserver/web")?
|
||||||
|
|
@ -83,7 +83,7 @@ Example installing wps and ysld extensions:
|
||||||
```shell
|
```shell
|
||||||
docker run -it -p 80:8080 \
|
docker run -it -p 80:8080 \
|
||||||
--env INSTALL_EXTENSIONS=true --env STABLE_EXTENSIONS="wps,ysld" \
|
--env INSTALL_EXTENSIONS=true --env STABLE_EXTENSIONS="wps,ysld" \
|
||||||
docker.osgeo.org/geoserver:2.22.0
|
docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
The list of extensions (taken from SourceForge download page):
|
The list of extensions (taken from SourceForge download page):
|
||||||
|
|
@ -108,7 +108,7 @@ If you want to add geoserver extensions/libs, place the respective jar files in
|
||||||
```shell
|
```shell
|
||||||
docker run -it -p 80:8080 \
|
docker run -it -p 80:8080 \
|
||||||
--mount src="/dir/with/libs/on/host",target=/opt/additional_libs,type=bind \
|
--mount src="/dir/with/libs/on/host",target=/opt/additional_libs,type=bind \
|
||||||
docker.osgeo.org/geoserver:2.22.0
|
docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to add additional fonts to the docker image (e.g. for SLD styling)?
|
## How to add additional fonts to the docker image (e.g. for SLD styling)?
|
||||||
|
|
@ -118,7 +118,7 @@ If you want to add custom fonts (the base image only contains 26 fonts) by using
|
||||||
```shell
|
```shell
|
||||||
docker run -it -p 80:8080 \
|
docker run -it -p 80:8080 \
|
||||||
--mount src="/dir/with/fonts/on/host",target=/opt/additional_fonts,type=bind \
|
--mount src="/dir/with/fonts/on/host",target=/opt/additional_fonts,type=bind \
|
||||||
docker.osgeo.org/geoserver:2.22.0
|
docker.osgeo.org/geoserver:2.23.0
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Do not change the target value!
|
**Note:** Do not change the target value!
|
||||||
|
|
|
||||||
|
|
@ -28,12 +28,16 @@ if [ "$INSTALL_EXTENSIONS" = "true" ]; then
|
||||||
URL="${STABLE_PLUGIN_URL}/geoserver-${GEOSERVER_VERSION}-${EXTENSION}-plugin.zip"
|
URL="${STABLE_PLUGIN_URL}/geoserver-${GEOSERVER_VERSION}-${EXTENSION}-plugin.zip"
|
||||||
download_extension ${URL} ${EXTENSION}
|
download_extension ${URL} ${EXTENSION}
|
||||||
done
|
done
|
||||||
|
for EXTENSION in $(echo "${COMMUNITY_EXTENSIONS}" | tr ',' ' '); do
|
||||||
|
URL="${COMMUNITY_PLUGIN_URL}/geoserver-${GEOSERVER_VERSION}-${EXTENSION}-plugin.zip"
|
||||||
|
download_extension ${URL} ${EXTENSION}
|
||||||
|
done
|
||||||
echo "Finished download of extensions"
|
echo "Finished download of extensions"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install the extensions
|
# Install the extensions
|
||||||
echo "Starting installation of extensions"
|
echo "Starting installation of extensions"
|
||||||
for EXTENSION in $(echo "${STABLE_EXTENSIONS}" | tr ',' ' '); do
|
for EXTENSION in $(echo "${STABLE_EXTENSIONS},${COMMUNITY_EXTENSIONS}" | tr ',' ' '); do
|
||||||
ADDITIONAL_LIB=${ADDITIONAL_LIBS_DIR}geoserver-${GEOSERVER_VERSION}-${EXTENSION}-plugin.zip
|
ADDITIONAL_LIB=${ADDITIONAL_LIBS_DIR}geoserver-${GEOSERVER_VERSION}-${EXTENSION}-plugin.zip
|
||||||
[ -e "$ADDITIONAL_LIB" ] || continue
|
[ -e "$ADDITIONAL_LIB" ] || continue
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue