Zum Hauptinhalt springen
Version: 7.0

Package: Release Repository Manager

Das Modul verwaltet ein Release-Repository für b4A Packages. Es stellt Operationen für Initialisierung, Herunterladen und Hochladen von Releases sowie das Auflisten von Packages und Versionen zur Verfügung.

Bezeichnung

Name
pm.Repository

Datenströme

  • Versions versions: Version

  • Packages packages: Package

Konfiguration

Operation (operation)
Definiert die Operation, die auf das Release Repository ausgeführt werden soll. Abhängig von der Operation müssen unterschiedliche andere Optionen gesetzt werden.Mögliche Werte: Initialisieren (init), Hochladen (upload), Herunterladen (download), Packages auflisten (list-packages), Versionen auflisten (list-versions)
Package (package)
Name des Package
Version (version)
Versionsnummer des Releases
Hochzuladende Release-Datei (upload-file)
Release-Datei, die in das Release-Repository hochgeladen werden soll
Heruntergeladene Release-Datei (download-file)
Speicherort für die heruntergeladene Release-Datei
Release Repository Konfigurationsdatei (repository-config-file)
Pfad zur Konfigurationsdatei für das Release Repository

Beschreibung

Das Modul bedient sich an den verfügbaren Backend-Implementierungen, um ein Release-Repository zu verwalten. Die Einstellungen für das gewählte Backend werden in der Konfigurationsdatei repository.json gespeichert.

Backends
filesystem
Das Backend nutzt ein Verzeichnis, um alle Release-Dateien abzulegen und zu verwalten. Dazu wird in einer Index-Datei gespeichert, welche b4A Packages im Repository verfügbar sind. Pro b4A Package wird ein Unterverzeichnis angelegt und darin werden die einzelnen Release-Dateien abgelegt. Das Namensschema für die Dateien ist <Package-Name>-<Version>.zip. Die Einstellungen für das Basisverzeichnis und dem Namen der Index-Datei werden in der Datei repository.json festgelegt.
  • directory: Basisverzeichnis für das Release-Repository
  • indexFile: Name der Index-Datei
  {
"directory": "/data/best4Automic/repository",
"indexFile": ".package.idx"
}
Artifactory
Dieses Backend nutzt ein Artifactory Repository, um alle Release-Dateien abzulegen und zu verwalten. Die Kommunikation mit dem Backende geschieht per REST-Anfragen. Es werden die beiden Authentifizierungsmechanismen Basic und Access Token unterstützt. Das Passwort, beziehungsweise der Access Token, kann dabei wahlweise in Klartext oder AE-verschlüsselt hinterlegt werden. Auch hier geschieht dies in der repository.json.
  • baseUrl: Basis-Url der Artifactory REST-API
  • username: Benutzername für den Artifactory Benutzer im Falle von Basic-Authentisierung
  • password: Passwort im Falle von Basic-Authentisierung oder Access-Token andernfalls. Kann AE-verschlüsselt hinterlegt werden.
  • authType: AccessToken oder Basic
  • repoKey: Der Key für das Repository, in dem die b4A Package Release-Dateien abgelegt werden.
{
"baseUrl": "http://<host>:<port>/artifactory",
"username": "Demo",
"password": "<access_token>/<password>",
"authType": "AccessToken/Basic",
"repoKey": "b4A_Packages"
}
Beispiele

Hochladen einer neuen Release-Datei

./b4A pm.Repository --package B4A.PM --operation upload --version 1.4.0 --download-file /tmp/B4A.PM-20240109.zip --log-variants REPORT

Auflisten aller Releases des b4A Package B4A.BASE

./b4A pm.Repository --operation list-versions --package B4A.BASE --log-variants REPORT --log-levels DATASTREAM