Skip to content

SWAO aktualisieren ​

Dieses Runbook beschreibt das Herunterladen eines neün SWAO-Releases, die Integritätsprüfung, das Ersetzen der alten Binary und die Prüfung auf Konfigurationsänderungen, die eventüll Handlungsbedarf erfordern.


1. Aktüllstes Release finden ​

Release-Binaries und Prüfsummen sind veröffentlicht unter:

https://github.com/Accenture/SWAO/releases

Jede Release-Seite enthält:

  • Versionierte Binaries für jede Plattform (swao-enterprise-win-x64.exe, swao-enterprise-linux-x64, swao-enterprise-linux-arm64, swao-enterprise-macos-x64, swao-enterprise-macos-arm64)
  • sha256sums.txt -- SHA-256-Prüfsummen für jede Binary
  • CHANGELOG.md-Auszug -- Zusammenfassung der Änderungen seit dem vorherigen Release

Die aktüll installierte Version vor dem Upgrade notieren:

bash
swao --version
# Example: 0.4.9

2. Binary herunterladen und verifizieren ​

Linux / macOS ​

bash
VERSION="0.5.1"   # replace with the target version
PLATFORM="linux-x64"   # adjust to your platform

curl -Lo /tmp/swao \
  "https://github.com/Accenture/SWAO/releases/download/v${VERSION}/swao-${PLATFORM}"

# Download the checksum file
curl -Lo /tmp/sha256sums.txt \
  "https://github.com/Accenture/SWAO/releases/download/v${VERSION}/sha256sums.txt"

# Verify
sha256sum /tmp/swao
grep "swao-${PLATFORM}" /tmp/sha256sums.txt
# The first column of each line must match exactly

Windows (PowerShell) ​

powershell
$Version = "0.5.1"
$BinaryUrl = "https://github.com/Accenture/SWAO/releases/download/v${Version}/swao-enterprise-win-x64.exe"
$ChecksumUrl = "https://github.com/Accenture/SWAO/releases/download/v${Version}/SHA256SUMS"

Invoke-WebRequest -Uri $BinaryUrl -OutFile "$env:TEMP\swao-new.exe"
Invoke-WebRequest -Uri $ChecksumUrl -OutFile "$env:TEMP\sha256sums.txt"

# Compute hash of downloaded binary
$Hash = (Get-FileHash -Path "$env:TEMP\swao-new.exe" -Algorithm SHA256).Hash.ToLower()

# Read expected hash from checksum file
$Expected = (Select-String -Path "$env:TEMP\SHA256SUMS" -Pattern "swao-enterprise-win-x64.exe").Line.Split(" ")[0]

if ($Hash -eq $Expected) {
    Write-Host "Checksum verified: $Hash"
} else {
    Write-Error "Checksum mismatch. Do not install this binary."
    exit 1
}

Bei einer Prüfsummen-Diskrepanz die Installation nicht fortsetzen.


3. Alte Binary ersetzen ​

Linux / macOS ​

bash
chmod +x /tmp/swao
sudo mv /tmp/swao /usr/local/bin/swao

# macOS only: remove quarantine attribute
xattr -dr com.apple.quarantine /usr/local/bin/swao

Windows (PowerShell) ​

powershell
# Stop any running SWAO processes first
Stop-Process -Name "swao-enterprise-win-x64" -ErrorAction SilentlyContinue

# Replace the binary
Move-Item -Force "$env:TEMP\swao-new.exe" "C:\Tools\swao\swao-enterprise-win-x64.exe"

# Re-unblock after replacement
Unblock-File -Path "C:\Tools\swao\swao-enterprise-win-x64.exe"

4. Neü Version bestätigen ​

bash
swao --version
swao health-check

swao health-check führt alle Umgebungsprüfungen einschliesslich der Schema-Version durch. Wenn der Schema-Prüfpunkt nach dem Upgrade rot wird, ist zwischen den Versionen eine brechende WSP-Schema-Änderung erfolgt -- siehe Abschnitt 5.


5. Auf Breaking Changes prüfen ​

Das Changelog für die neü Version vor dem Einsatz in gemeinsam genutzten oder produktiven Workspaces lesen:

https://github.com/Accenture/SWAO/releases/tag/v<version>

WSP-Schema-Änderungen ​

Die WSP-Schema-Version wird in schema_version in der run-manifest.json jedes Laufs getrackt. Wenn die Binary eine neüre Schema-Version erwartet als die .swao.yml des Workspaces deklariert, meldet swao health-check eine Schema-Diskrepanz.

Behebung mit dem Konfigurations-Migrations-Befehl:

bash
# Preview changes (dry run)
swao migrate-config --dry-run

# Apply
swao migrate-config

# Verify
swao health-check

Pass-Konfigurationsänderungen ​

Wenn ein neür Pass-Schlüssel eingeführt wird (z. B. ein neüs Analysemodul), überspringen bestehende .swao.yml-Dateien, die ihn nicht auflisten, den neün Pass. Ihn bei Bedarf zu passes.enabled in .swao.yml hinzufügen.


6. Rollback ​

Falls die neü Version Regressionen verursacht, die alte Binary bis zur Beheibung des Problems behalten. Das vorherige Release mit denselben Schritten unter Angabe des älteren Versions-Tags herunterladen.

Es gibt keinen eingebauten Rollback-Befehl. Der Austausch der Binary ist der Rollback-Mechanismus.