PROZESSING-Installation
Alle für das PROZESSING notwendigen Ordner und Dateien werden unter D:\TBBM abgelegt. Die eigentliche PROZESSING-Installation befindet sich im Order D:\TBBM\PROZESSING. Alternative: anderer Laufwerksbuchstabe, wenn kein D:\ vorhanden ist.
| D:\TBBM | Beschreibung |
|---|---|
| D:\TBBM\jdk | Java-Installation |
| D:\TBBM\PROZESSING | Scripts, libraries, INI-Dateien und logs für das PROZESSING |
| D:\TBBM\PROZESSING\bin | Tools wie curl, procexp64, Procmon64 |
| D:\TBBM\PROZESSING\ini | Ordner für INI-Dateien und andere Konfigurationsdateien |
| D:\TBBM\PROZESSING\logs | Logdateien für jeden Job bzw. Task |
| D:\TBBM\PROZESSING\prozessing.pyz | TBBM PROZESSING Python-Code |
| D:\TBBM\python | Python-Installation |
| D:\TBBM\scripts | Ordner für zusätzlich entwickelte Kunden-Scripts |
| D:\TBBM\WiskiPlotMap | Installation von TBBM WiskiPlotMap |
Aktualisierung aus CI-Builds
Die CI-Builds (z. B. PROZESSING-a3b20b41.zip und PROZESSING-python-win-a3b20b41.zip) werden mit folgendem Script als install.ps1 installiert. Die vorherige Installation wird davor nach D:\TBBM\PROZESSING\yyyy-MM-dd.bak\ verschoben.
powershell
<#
.SYNOPSIS
Installiert PROZESSING-CI-Builds (prozessing.pyz und/oder python/) nach D:\TBBM,
die vorherige Installation wird davor nach D:\TBBM\PROZESSING\yyyy-MM-dd.bak\ verschoben.
.EXAMPLE
.\install.ps1 PROZESSING-a3b20b41.zip PROZESSING-python-win-a3b20b41.zip
#>
[CmdletBinding(PositionalBinding = $false)]
param(
[Parameter(Mandatory, ValueFromRemainingArguments)][string[]]$Zip,
[string]$Root = "D:\TBBM"
)
$ErrorActionPreference = "Stop"
$targets = [ordered]@{
"python" = Join-Path $Root "python"
"prozessing.pyz" = Join-Path $Root "PROZESSING\prozessing.pyz"
}
$backup = Join-Path $Root "PROZESSING\$(Get-Date -Format yyyy-MM-dd).bak"
$tmp = Join-Path $Root "PROZESSING\install.tmp"
if (Test-Path $tmp) {
Write-Host "Entferne altes Temp-Verzeichnis $tmp"
Remove-Item $tmp -Recurse -Force
}
foreach ($z in $Zip) {
Write-Host "Entpacke $z nach $tmp"
Expand-Archive -Path $z -DestinationPath $tmp
}
foreach ($name in $targets.Keys) {
$new = Join-Path $tmp $name
$old = $targets[$name]
if (-not (Test-Path $new)) {
Write-Host "Ignoriere $name (nicht in den ZIP-Dateien enthalten)"
continue
}
if (Test-Path $old) {
Write-Host "Erstelle Sicherungsverzeichnis $backup"
New-Item -ItemType Directory -Force $backup | Out-Null
Write-Host "Sichere $old nach $backup"
Move-Item $old $backup
}
Write-Host "Installiere $new nach $old"
Move-Item $new $old
}
Write-Host "Entferne Temp-Verzeichnis $tmp"
Remove-Item $tmp -Recurse -Force
Write-Host "Installation abgeschlossen"