Vorstellung eines schnelleren, Composer 2.0-fähigen Enterprise-Paket-Repositorys

Vorstellung eines schnelleren, Composer 2.0-fähigen Enterprise-Paket-Repositorys

Zusammen mit dem Ibexa DXP 3.3LTS Release launchen wir updates.ibexa.co, welches ein neues Composer v2 ready Paket-Repository für unsere Enterprise-Pakete ist -  verfügbar für alle unterstützten Versionen unserer Software, die sich noch in der Nutzungsphase befinden. Mit diesem Beitrag gehen wir darauf ein, wann unser bisheriges Paket-Repository, updates.ez.no, abgelöst wird.

Mit dem neuen Jahr 2021 begrüßen wir u.a. unsere neueste Version 3.3LTS, die im Januar veröffentlicht wird. Als Teil davon haben wir an unserer Infrastruktur für Composer und Flex gearbeitet, um das neue Symfony Flex-basierte Release zu erleichtern.

Letzten Herbst kam Composer v2 heraus und damit verbunden waren enorme Verbesserungen der Leistung und der Speichernutzung.

Mit 3.3LTS wird Composer v2 nicht nur unterstützt, sondern vorausgesetzt und zudem auch für ältere Versionen optimiert.

Das neue updates.ibexa.co Composer-Repository

updates.ibexa.co ist ein neuer Drop-in-Ersatz für das Composer-Repository updates.ez.no, für Ibexa DXP/Enterprise-Pakete (und ältere Releases innerhalb der Nutzungsdauer).

Es bietet die folgenden Vorteile:

  • Noch schneller beim Betrieb von composer update
    • Unter anderem Unterstützung des neuen Packagist-Formats, das vom Composer v2 verwendet wird
  • Doppellizenz-Pakete
    • Keine Notwendigkeit mehr, separate "/ttl" und "/bul" Composer-Repositories zu verwenden
    • Nahtloses Upgrade von der Testversion

So startet man:

Der Umstieg auf updates.ibexa.co ist einfach. Wenn man eine aktuelle Softwareversion von Ibexa verwendet, so kann man auf die folgenden zwei Arten umsteigen:
A.    Während des Composer-Updates
    i.    composer.json so ändern, dass es auf https://updates.ibexa.co verweist
        i.    HINWEIS: Kein zusätzlicher Pfad im URI
    ii.   composer update ausführen
        i.    Beim ersten Mal wird man nach Anmeldedaten für updates.ibexa.co gefragt. Hier können dieselben Anmeldedaten verwendet werden, die man in der Vergangenheit für updates.ez.no verwendet hat

   Falls gewünscht, kann dies mit den folgenden Kommandozeilenbefehlen durchgeführt werden:

$ perl -i -p -e 's@"https://updates.ez.no/[^/]+/?"@"https://updates.ibexa.co"@' composer.json
$ composer update

B.    Austausch ohne Aktualisierung von Paketen
    i.     composer.json und composer.lock ändern, sodass sie auf https://updates.ibexa.co verweisen
        i.    HINWEIS: Kein zusätzlicher Pfad im URI
    ii.   composer install
        i.     Bei bestehender Installation den Ordner "vendor" umbenennen, um zu überprüfen, ob der Download erfolgreich war
        ii.    Beim ersten Mal wird man nach Anmeldedaten für updates.ibexa.co gefragt. Hier können dieselben Anmeldedaten verwendet werden, die man in der Vergangenheit für updates.ez.no verwendet hat

    Dies lässt sich mit den folgenden Befehlszeilenbefehlen erreichen:

$ perl -i -p -e 's@"https://updates.ez.no/[^/]+/?"@"https://updates.ibexa.co"@' composer.json
$ perl -i -p -e 's@"https://updates.ez.no/[A-Za-z0-9_]+/([^"]+)"@"https://updates.ibexa.co/$1"@' \
composer.lock
$ composer install

Was geschieht mit updates.ez.no?

    •    Das Erstellen neuer Pakete erfolgt ab sofort nur noch über Nacht
    •    Wird am 31. Juli 2021 archiviert
        o    Der Dienst wird umbenannt in archive-updates.ez.no
        o    Es werden keine neuen Pakete erstellt
        o    Der Traffic, der von updates.ez.no kommt, wird auf die neue updates.ibexa.co umgeleitet.
Wie im obigen Abschnitt für die Umstellung gezeigt, ist updates.ibexa.co ein Drop-in-Ersatz für alle Paketversionen auf Releases, die noch innerhalb der Nutzungsdauer sind. Diese Änderung sollte sich also in keiner Weise negativ auswirken.

Umstellung auf archive-updates.ez.no für Releases außerhalb der Laufzeit

Die einzige Situation, in der das Setup angepasst und archive-updates.ez.no verwendet werden muss, ist, wenn eine eZ Software verwendet wird, die nicht mehr in der Nutzungsdauer ist. archive-updates.ez.no ist noch nicht eingerichtet, aber sobald es eingerichtet ist, ist das Verfahren ähnlich wie die obigen Anweisungen. Die URL in composer.json und composer.lock müssen aktualisiert werden, ein Beispiel:
    -    https://updates.ez.no/bul wird zu https://archive-updates.ez.no/bul

Wie geht es weiter?

Bereits heute kann dies genutzt werden, da es den Entwicklern, die an einem Ibexa DXP oder älteren eZ Platform Enterprise Projekt beteiligt sind, einige Vorteile bietet. Halten Sie in Zukunft Ausschau nach Blog-Beiträgen darüber, welche Technologien in der neuen updates.ibexa.co-, support.ibexa.,co- und flex.ibexa.co-Architektur zum Einsatz kommen, und bis dahin wünschen wir alles Gute für 2021!

 

Weitere Insights