Build .opm in CI/CD mit opmbuild
OPM::Maker ist ein eigenständiges Perl-CPAN-Modul, das die .opm-Werkzeuge ohne vollständige OTOBO-/Znuny-Installation bereitstellt. Das macht es ideal für CI/CD-Pipelines.
Installation
cpanm OPM::Maker
Das stellt den Befehl opmbuild bereit.
Befehle
| Befehl | Zweck |
|---|---|
opmbuild sopmtest MyPackage.sopm | Manifest-XML und Struktur prüfen |
opmbuild filetest MyPackage.sopm | Abgleich der Filelist mit den Dateien auf der Festplatte |
opmbuild dependencies MyPackage.sopm | Abhängigkeiten auflisten |
opmbuild build --output dist/ MyPackage.sopm | .opm-Datei erzeugen |
opmbuild index repo/ | Repository-Index-XML für ein Verzeichnis mit .opm-Dateien erstellen |
GitHub Actions Beispiel
name: Build OPM package
on:
push:
tags: ['v*']
jobs:
build:
runs-on: ubuntu-latest
container: perl:5.40
steps:
- uses: actions/checkout@v4
- name: Install OPM::Maker
run: cpanm --notest OPM::Maker
- name: Validate manifest
run: |
opmbuild sopmtest MyPackage.sopm
opmbuild filetest MyPackage.sopm
- name: Build .opm
run: opmbuild build --output dist/ MyPackage.sopm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: opm-package
path: dist/*.opm
Ohne eigene Pipeline: der Hub-Build-Service
Open ITSM Hub betreibt optional einen zustandslosen Dienst, der opmbuild hinter einer HTTP-API kapselt (siehe backend/opmbuild-service). Wenn er aktiviert ist, führen der .sopm-Validator und die Generatoren die echte Perl-Prüfung serverseitig aus — ganz ohne lokale Perl-Installation.
Tipp: Multi-Framework-Builds
Da ein .sopm mehrere <Framework>-Zeilen enthalten kann, erzeugt ein Build ein .opm, das auf allen deklarierten Forks installierbar ist. Prüfen Sie die Abdeckung vorab mit dem Kompatibilitäts-Checker.
