[PATCH] Artifact-server config in release script: remove installation specific defaults and give the possibility to overwrite any config-file

Wald Commits scm-commit at wald.intevation.org
Thu Dec 4 18:15:09 CET 2014


# HG changeset patch
# User Tom Gottfried <tom at intevation.de>
# Date 1417713305 -3600
# Node ID dc0351c5d098916acc6fea262897e3949120a856
# Parent  76994a0187fadc237838998a6399f1a903e9eb04
Artifact-server config in release script: remove installation specific defaults and give the possibility to overwrite any config-file.

diff -r 76994a0187fa -r dc0351c5d098 contrib/make_flys_release/README
--- a/contrib/make_flys_release/README	Thu Dec 04 13:00:23 2014 +0100
+++ b/contrib/make_flys_release/README	Thu Dec 04 18:15:05 2014 +0100
@@ -6,26 +6,26 @@
 Wichtige variablen sind:
 FLYS_SOURCE_DIR
 TOMCAT_PORT
-MAPSERVER_URL
 FONT_PATH
 WIKI_URL
 LOG_DIR
 DEVELOPER
 DEFAULT_WD
 
-# Seddb Configuration
-SEDDBURL
-SEDDBPORT
-SEDDBBACK
-SEDDBUSER
-SEDDBPASS
+Artefakt-Server-Konfiguration:
+SERVER_CONF: Pfad zu einem Verzeichnis, dessen Inhalt in das 'conf'-Verzeichnis
+             des Artefakt-Servers kopiert wird um Default-Konfigurations-
+             Dateien zu überschreiben. Die Zeichenkette 'D4E_VERSION' wird in
+             den so gegebenen Konfigurationsdateien durch die beim Aufruf des
+             Skriptes angegebene Version ersetzt.
 
-# Backend configuration
-BACKENDURL
-BACKENDPORT
-BACKENDBACK
-BACKENDUSER
-BACKENDPASS
+Mit folgenden Umgebungsvariablen können auch einzelne Teile der Artefakt-
+Server-Konfiguration angepasst werden (die geschieht bevor die Default-
+Konfigurations-Dateien überschrieben werden!):
+ARTIFACT_PORT: Port für den Artefakt-Server.
+DGM_PATH:      Prefix für die in der Backend-Datenbank gespeicherten Pfade zu
+               den digitalen Gelände-Modellen.
+WIKI_URL:      URL für die Online-Hilfe (auch für Client-Konfiguration)
 
 FEATURES_XML (Wenn gesetzt pfad zu einer zu verwendenden features.xml)
 
diff -r 76994a0187fa -r dc0351c5d098 contrib/make_flys_release/make_release.sh
--- a/contrib/make_flys_release/make_release.sh	Thu Dec 04 13:00:23 2014 +0100
+++ b/contrib/make_flys_release/make_release.sh	Thu Dec 04 18:15:05 2014 +0100
@@ -56,28 +56,11 @@
 #   --seddb-pass                    Sediment db password. Default: $SEDDBPASS
 #   --seddb-back                    Sediment db backend. Default: $SEDDBBACK
 TOMCAT_PORT=${TOMCAT_PORT:-8282}
-MAPSERVER_URL=${MAPSERVER_URL:-http://flys-devel.intevation.de/cgi-bin/flys}
 WIKI_URL=${WIKI_URL:-https://flys3-devel.bafg.de/wiki}
 # Prefix to FreeSans.ttf
 FONT_PATH=${FONT_PATH:-/opt/flys}
 
-# Seddb Configuration
-SEDDBURL=${SEDDBURL:-czech-republic.atlas.intevation.de}
-SEDDBPORT=${SEDDBPORT:-5432}
-SEDDBBACK=${SEDDBBACK:-seddb}
-SEDDBUSER=${SEDDBUSER:-flys}
-SEDDBPASS=${SEDDBPASS:-flys}
-SEDINITSQLS=${SEDINITSQLS:-}
-
-
 # Backend configuration
-BACKENDURL=${BACKENDURL:-czech-republic.atlas.intevation.de}
-BACKENDPORT=${BACKENDPORT:-5432}
-BACKENDBACK=${BACKENDBACK:-flys_devel}
-BACKENDUSER=${BACKENDUSER:-flys_dami}
-BACKENDPASS=${BACKENDPASS:-flys_dami}
-INITSQLS=${INITSQLS:-}
-DGM_PATH=${DGM_PATH:-/vol1/projects/Geospatial/flys-3.0/testdaten/dami_dgms/}
 LOG_DIR=/var/log/flys
 
 # Client configuration
@@ -238,29 +221,6 @@
 sed -i -e "s@/usr/share/fonts/truetype/freefont@${FONT_PATH}@g" \
     $FLYS_SOURCE_DIR/river/gwt-client/src/main/webapp/WEB-INF/config.yaml
 
-if [ -r "$RIVERMAP_XML" ]; then
-    cp "$RIVERMAP_XML" $FLYS_SOURCE_DIR/river/artifacts/doc/conf/rivermap.xml
-fi
-
-if [ -r "$FLOODMAP_XML" ]; then
-    cp "$FLOODMAP_XML" $FLYS_SOURCE_DIR/river/artifacts/doc/conf/floodmap.xml
-fi
-
-if [ -r "$METADATA_XML" ]; then
-    cp "$METADATA_XML" $FLYS_SOURCE_DIR/river/artifacts/doc/conf/meta-data.xml
-fi
-
-if [ -r "$MODULES_XML" ]; then
-    cp "$MODULES_XML" $FLYS_SOURCE_DIR/river/artifacts/doc/conf/modules.xml
-fi
-
-if [ -r "$ZOOMSCALES_XML" ]; then
-    cp "$ZOOMSCALES_XML" $FLYS_SOURCE_DIR/river/artifacts/doc/conf/zoom-scales.xml
-fi
-
-if [ -r "$SERVER_LOG4J" ]; then
-    cp "$SERVER_LOG4J" $FLYS_SOURCE_DIR/river/artifacts/doc/conf/log4j.properties
-fi
 
 if [ ! -f $FLYS_SOURCE_DIR/OpenLayers-2.11.tar.gz ]; then
     echo "INFO: download OpenLayers-2.11 for client"
@@ -332,102 +292,39 @@
     rm -f $WORK_DIR/server/bin/lib/ojdbc*
 fi
 
-# fetch the configuration stuff
+
 echo "INFO: copy default configuration to target destination"
 cp -R $FLYS_SOURCE_DIR/river/artifacts/doc/conf $WORK_DIR/server/
 
 sed -i "s/8181/$ARTIFACT_PORT/g" \
     $WORK_DIR/server/conf/rest-server.xml
 
-sed -i -e "s at http://yourhost:8081/cgi-bin@${MAPSERVER_URL}-${VERSION}@g" \
-    $WORK_DIR/server/conf/floodmap.xml
-
-sed -i -e "s at http://yourhost:8081/cgi-bin@${MAPSERVER_URL}-${VERSION}@g" \
-    $WORK_DIR/server/conf/rivermap.xml
-
-sed -i -e "s@/usr/share/fonts/truetype/freefont@${FONT_PATH}@g" \
-    $WORK_DIR/server/conf/mapserver/fontset.txt
-
-sed -i -e "s@/tmp/flys-rivers-wms.log@${LOG_DIR}/rivers-wms-${VERSION}.log at g" \
-    $WORK_DIR/server/conf/mapserver/river-mapfile.vm
-
-sed -i -e "s@/tmp/flys-user-wms.log@${LOG_DIR}/user-wms-${VERSION}.log at g" \
-    $WORK_DIR/server/conf/mapserver/mapfile.vm
-
-sed -i -e "s@/var/log/d4e-river/d4e-server.log@${LOG_DIR}/server-${VERSION}.log@" \
-    $WORK_DIR/server/conf/log4j.properties
-
-sed -i -e "s@<dgm-path>/path/to/rivers/</dgm-path>@<dgm-path>${DGM_PATH}</dgm-path>@g" \
-       -e "s@<help-url>http://example.com</help-url>@<help-url>${WIKI_URL}</help-url>@g" \
-    $WORK_DIR/server/conf/conf.xml
-
-
-if [ "$BUILD_ORACLE" = "TRUE" ]; then
-    # Oracle backend configuration
-    cat > $WORK_DIR/server/conf/backend-db.xml << EOF
-<?xml version="1.0" encoding="UTF-8" ?>
-<backend-database>
-    <user>$BACKENDUSER</user>
-    <password>$BACKENDPASS</password>
-    <dialect>org.hibernatespatial.oracle.OracleSpatial10gDialect</dialect>
-    <driver>oracle.jdbc.driver.OracleDriver</driver>
-    <url>jdbc:oracle:thin:@//$BACKENDURL:$BACKENDPORT/$BACKENDBACK</url>
-    <validation-query>select 1 from rivers</validation-query>
-    <max-wait>30000</max-wait>
-    <connection-init-sqls>$INITSQLS</connection-init-sqls>
-</backend-database>
-EOF
-
-cat > $WORK_DIR/server/conf/seddb-db.xml << EOF
-<?xml version="1.0" encoding="UTF-8" ?>
-<seddb-database>
-    <user>$SEDDBUSER</user>
-    <password>$SEDDBPASS</password>
-    <dialect>org.hibernate.dialect.Oracle9iDialect</dialect>
-    <driver>oracle.jdbc.driver.OracleDriver</driver>
-    <url>jdbc:oracle:thin:@//$SEDDBURL:$SEDDBPORT/$SEDDBBACK</url>
-    <validation-query>select 1 from gewaesser</validation-query>
-    <max-wait>30000</max-wait>
-    <connection-init-sqls>$SEDINITSQLS</connection-init-sqls>
-</seddb-database>
-EOF
-
-else
-    #Postgresql backend configuration
-    cat > $WORK_DIR/server/conf/backend-db.xml << EOF
-<?xml version="1.0" encoding="UTF-8" ?>
-<backend-database>
-    <user>$BACKENDUSER</user>
-    <password>$BACKENDPASS</password>
-    <dialect>org.hibernate.dialect.PostgreSQLDialect</dialect>
-    <driver>org.postgresql.Driver</driver>
-    <url>jdbc:postgresql://$BACKENDURL:$BACKENDPORT/$BACKENDBACK</url>
-    <validation-query>select 1 from rivers</validation-query>
-    <connection-init-sqls>$INITSQLS</connection-init-sqls>
-</backend-database>
-EOF
-
-cat > $WORK_DIR/server/conf/seddb-db.xml << EOF
-<?xml version="1.0" encoding="UTF-8" ?>
-<seddb-database>
-    <user>$SEDDBUSER</user>
-    <password>$SEDDBPASS</password>
-    <dialect>org.hibernate.dialect.PostgreSQLDialect</dialect>
-    <driver>org.postgresql.Driver</driver>
-    <url>jdbc:postgresql://$SEDDBURL:$SEDDBPORT/$SEDDBBACK</url>
-    <validation-query>select 1 from gewaesser</validation-query>
-</seddb-database>
-EOF
-
+if [ -n $DGM_PATH ]; then
+    sed -i -e "s@<dgm-path>/path/to/rivers/</dgm-path>@<dgm-path>${DGM_PATH}</dgm-path>@g" \
+        $WORK_DIR/server/conf/conf.xml
 fi
 
+if [ -n $WIKI_URL ]; then
+    sed -i -e "s@<help-url>http://example.com</help-url>@<help-url>${WIKI_URL}</help-url>@g" \
+        $WORK_DIR/server/conf/conf.xml
+fi
+
+if [ -d $SERVER_CONF ]; then
+    echo "INFO: copy custom configuration to target destination"
+    cp -R $SERVER_CONF/* $WORK_DIR/server/conf/
+    for file in `find $WORK_DIR/server/conf -type f`; do
+        sed -i -e "s at D4E_VERSION@${VERSION}@g" $file
+    done
+fi
+
+
+echo "INFO: create h2 database for artifacts and datacage"
 mkdir $WORK_DIR/artifactsdb
 mkdir $WORK_DIR/datacagedb
 
 cp $FLYS_SOURCE_DIR/framework/artifact-database/doc/schema-h2.sql $WORK_DIR/artifactsdb/artifacts-h2.sql
 cp $FLYS_SOURCE_DIR/river/artifacts/doc/conf/datacage.sql $WORK_DIR/datacagedb/datacage.sql
 
-echo "INFO: create h2 database for artifacts and datacage"
 cd $WORK_DIR
 $SCRIPT_DIR/h2/createArtifacts.sh $WORK_DIR/artifactsdb/artifacts-h2.sql
 $SCRIPT_DIR/h2/createDatacage.sh $WORK_DIR/datacagedb/datacage.sql
@@ -436,10 +333,10 @@
 mv $WORK_DIR/artifactsdb $WORK_DIR/server/
 mv $WORK_DIR/datacagedb $WORK_DIR/server/
 
-if [ -n $INSTALL ]; then
+if [ -f $INSTALL ]; then
     echo "INFO: prepare custom installation script"
     cp $INSTALL $WORK_DIR
-    sed -i "s/VERSION/$VERSION/g" $WORK_DIR/`basename $INSTALL`
+    sed -i "s/D4E_VERSION/$VERSION/g" $WORK_DIR/`basename $INSTALL`
 fi
 
 echo "INFO: create tarball"


More information about the Dive4Elements-commits mailing list