Skip to content

RegestaItalia/trm-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

TRM

Contributor Covenant View Code Wiki

trm-client version trm-server version trm-core version trm-registry-types version

trm-registry roadmap stage

πŸš€ This project is funded and maintained by 🏦 πŸ”—
Regesta S.p.A. https://www.regestaitalia.eu/
Clarex S.r.l. https://www.clarex.it/

trm-docker is the dockerized version of TRM.

🚚 TRM (Transport Request Manager) is a package manager inspired solution built leveraging CTS that simplifies SAP ABAP transports.

TRM Logo

TRM introduces package-based software delivery to the SAP ecosystem, bringing with it semantic versioning, dependency management, and automated deployment activities.


What is TRM?

TRM is a software that transforms how custom ABAP developments are published, installed, and maintained across SAP landscapes. Inspired by modern package managers, TRM introduces a declarative, version-controlled, and automated way to manage your SAP transports.

With TRM, you can:

  • Define a manifest for each ABAP package (similar to package.json with Node.js or pom.xml with Maven)
  • Version your products (SemVer compliance)
  • Declare dependencies (to other TRM packages, SAP standard objects, or customizing data)
  • Automate post-install activities, such as client dependant customizing, cache invalidation etc.
  • Validate system requirements prior to installation
  • Compare versions of the same product across multiple SAP systems (in or outside the same landscape)
  • Distribute your product release to the public or to a restricted number of users:
    • Registry (e.g., trmregistry.com or private registry)
    • Local .trm files for offline installations

Modern approach for ABAP

  • Publish ABAP packages from a central development system
  • Deliver packages to target systems (outside of the original landscape e.g. customers development system) using a single CLI command (or in a pipeline)
  • Full support for workbench objects, customizing, and translations

Structured Manifest

Each package includes a manifest.json that declares:

  • Version and metadata
  • System requirements
  • Dependencies
  • Post-install scripts

Documentation

Full documentation can be seen at https://docs.trmregistry.com/.


Why Docker?

Installing trm can be, especially on MacOS, challenging, as several steps are required to properly prepare the client environment.

To improve usability, the entire project (excluding SAP SDKs and tools) has been containerized using Docker.


Download Docker Run Script

This script is a small utility used to run TRM inside Docker. After installing the required SAP proprietary tools, the script can be moved into a directory included in your PATH so that it can be executed from anywhere.

  1. Go to the trm-docker repository
  2. Download the script corresponding to your operating system:
    • Windows: download win.cmd and rename it to trm.cmd
    • macOS / Linux: download macos, rename it to trm, and make it executable:
      chmod +x trm
  3. In the same directory where you placed the script, create a folder named init.

This init folder will later contain the SAP proprietary files required by TRM.


Download SAPCAR and SAPEXE and Extract Required Files

SAPCAR is used to extract .SAR archives downloaded from SAP Software Center.

Download SAPCAR

  1. Log in to the SAP Software Center
  2. Click SUPPORT PACKAGES & PATCHES
  3. Expand By Alphabetical Index (A–Z) and select S
  4. Click SAPCAR
  5. Choose the latest version
  6. On the download page select your operating system:
    • WINDOWS ON X64 64BIT
    • MACOS ON ARM64BIT
    • MACOS X 64-BIT
  7. Download:
    • Windows β†’ latest .EXE
    • macOS β†’ latest .ZIP
  8. If using macOS, extract the archive and make the binary executable:
    chmod +x SAPCAR

Download SAP Kernel Files

  1. Go back to SUPPORT PACKAGES & PATCHES
  2. Expand By Alphabetical Index (A–Z) and select K
  3. Click SAP KERNEL 64-BIT
  4. Choose the latest version
  5. On the download page select LINUX ON X86_64 64BIT
  6. Download the latest SAPEXE archive
    (file name similar to SAPEXE_###-########.SAR)

Extract the Required Files

  1. Place the downloaded SAPEXE_*.SAR file in the same directory as SAPCAR.

  2. Extract it:

    Windows

    SAPCAR -xvf SAPEXE_###-########.SAR

    macOS / Linux

    ./SAPCAR -xvf SAPEXE_###-########.SAR
  3. After extraction, move the following files into the previously created init folder:

    R3trans
    libicudata##.so
    libicui18n##.so
    libicuuc##.so
    
  4. (Optional) If you want RFC functionality available in TRM, also move the following files into the init folder:

    startrfc
    rfcexec
    libsapnwrfc.so
    libsapucum.so
    

Pull docker image

With Docker running on your system, pull the abaptrm/docker image:

docker pull --platform=linux/amd64 abaptrm/docker

Initial Installation via Script

Once the init folder is populated, docker image is pulled and the trm script is ready, run the script from the directory where it is located.

Windows

trm

macOS / Linux

./trm

The first execution performs the initial setup of the Docker environment.
After the installation completes, you may move the script to a directory included in your system PATH so it can be executed from anywhere.

Windows

C:\Windows\System32

macOS / Linux

/usr/local/bin

After this step, you can simply run:

trm

from any directory.


Docker development

To build the docker image run:

docker build --platform linux/amd64 -t abaptrm/docker .

Contributing

Like every other TRM open-source projects, contributions are always welcomed ❀️.

Make sure to open an issue first.

Contributions will be merged upon approval.

Click here for the full list of TRM contribution guidelines.

About

🚚 TRM (Transport Request Manager) Dockerized

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors