You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Es ist möglich, über die REST-Schnittstelle einen Nuclet-Import durchzuführen.
Hierzu ist eine Session als Superuser nötig, mit der das gezipte Nuclet an den Maintenance-Service geschickt wird.

Für den Nuclet-Import selbst können bisher keine Einstellungen vorgenommen werden, daher gilt für Nuclet-Parameter:

  • Neue Parameter werden importiert
  • Geänderte Parameter bleiben unverändert
  • Gelöschte Parameter werden entfernt

Das folgende Shell-Skript erledigt den Import automatisch:

#!/bin/bash

export NUCLOS_URL=${1:-'http://localhost:80/nuclos'}
export NUCLOS_USER='nuclos'
export NUCLOS_PASSWORD=''

# directory where this script is stored
export DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )

# import all nuclets inside 'testnuclets'
NUCLETDIR="$DIR/nuclet"


echo "\n\nImporting nuclet ${NUCLETDIR}"

# Login
curl --fail --cookie-jar $DIR/cookies.txt $NUCLOS_URL/rest -X POST -H "Accept:application/json" -H "Content-Type: application/json" -d '{"username":"'$NUCLOS_USER'", "password":"'$NUCLOS_PASSWORD'"}'

# exit if curl was not successful
if [ $? -ne 0 ]; then
	echo "[ERROR] Login failed"
	exit 1
fi 

    
# zip nuclet
rm -f "nucletimport.nuclet"
cd ${NUCLETDIR}
zip -r ../nucletimport.nuclet .
cd ..

# send zipped nuclet to server
curl --fail --cookie $DIR/cookies.txt -F "file=@nucletimport.nuclet" "$NUCLOS_URL/rest/maintenance/nucletimport"

# test if curl was successful
if [ $? == "0" ]
then
	echo "Import successful"
else
	echo "[ERROR] Import failed"
fi 

# Logout
curl -s --cookie cookies.txt -X DELETE $NUCLOS_URL/rest

Das Skript geht von folgenden Default-Werten aus:

Nuclos URL = http://localhost:80/nuclos
User = nuclos
Passwort =
Nuclet = Verzeichnis "nuclet" im gleichen Verzeichnis wie das Skript, das das ungepackte Nuclet enthält (Nuclet-Export als "SVN-Verzeichnis")

Die Nuclos URL kann als erster Kommandozeilen-Parameter übergeben werden, z.B.: ./nucletimport.sh http://localhost:8082/nuclos-war

  • No labels