Page tree
Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 2 Current »

Ab Nuclos v4.8.0 ist es 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