Skip to main content
Version: 7.0

Package: Release Repository Manager

The module manages a release repository for b4A packages. It provides operations for initialization, upload and download of releases and listing packages and versions of a package.

Designation

Name
pm.Repository

Datastreams

  • Versions versions: Version

  • Packages packages: Package

Configuration

Operation (operation)
Defines the operation to perform on the release repository. Depending on the operation different other options must be given.Mögliche Werte: Initialize (init), Upload (upload), Download (download), List Packages (list-packages), List Versions (list-versions)
Package (package)
Name of the package
VersionMail.DecrMailHeader=the file contains the mail header that will be prepended to each mail (version)
Version number of the release
Upload Release File (upload-file)
release file that should be uploaded to the release repository
Downloaded Release File (download-file)
Storage location for the downloaded release file
Release Repository Configuration File (repository-config-file)
Path to the configuration file for the release repository

Description

The module uses the available backend implementations to manage a release repository. The settings for the selected backend are stored in the configuration file repository.json.

Backends
filesystem
The backend uses a directory to store and manage all release files. For this purpose, an index file is used to store which b4A Packages are available in the repository. A subdirectory is created for each b4A Package, and the individual release files are stored in it. The naming scheme for the files is <Package-Name>-<Version>.zip. The settings for the base directory and the name of the index file are specified in the repository.json file.
  • directory: Base directory for the release repository
  • indexFile: Name of the index file
  {
“directory”: “/data/best4Automic/repository”,
“indexFile”: “.package.idx”
}
Artifactory
This backend uses an Artifactory repository to store and manage all release files. Communication with the backend takes place via REST requests. Both Basic and Access Token authentication mechanisms are supported. The password or access token can be stored in plain text or AE-encrypted. This is also done in repository.json.
  • baseUrl: Base URL of the Artifactory REST API
  • username: Username for the Artifactory user in the case of Basic authentication
  • password: Password in the case of Basic authentication or access token otherwise. Can be stored in AE-encrypted form.
  • authType: AccessToken or Basic
  • repoKey: The key for the repository in which the b4A package release files are stored.
{
“baseUrl”: “http://<host>:<port>/artifactory”,
“username”: “Demo”,
“password”: “<access_token>/<password>”,
“authType”: “AccessToken/Basic”,
“repoKey”: “b4A_Packages”
}
Examples

Uploading a new release file

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

Listing all releases of the b4A Package B4A.BASE

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