Bauen und verteilen

Pakete bauen, auf Depots installieren und deinstallieren, auf andere Stufen übernehmen, Versionen freigeben, zurück auf Entwurf setzen und neue Versionen anlegen.

Rollen: Packager, Releaser

Überblick

Dieses Kapitel beschreibt den Weg einer Paketversion vom Entwurf bis auf die Depots: Bauen erzeugt die .opsi-Datei, Installieren … bringt sie auf ein oder mehrere Depots und gibt die Version dabei frei, Übernehmen … bringt eine getestete Version unverändert auf die Depots der nächsten Stufe. Alle Aktionen findest du in der Werkzeugleiste des Reiters control im Paket-Editor und im Menü ⋯ (Weitere Aktionen).

Bauen, Installieren auf Test- und Staging-Depots und die übrigen Aktionen in diesem Kapitel brauchen mindestens die Rolle Packager. Für produktive Depots ist die Rolle Releaser nötig. Mit der Rolle Leser kannst du gebaute Pakete nur herunterladen.

Der Lebenszyklus einer Version

Entwurf ──Bauen (beliebig oft)──► „gebaut“
   ▲          Änderung → „seit dem Bauen geändert“ → erneut bauen
   │
   │      Installieren … (nur mit aktuellem Build)
   │                     ▼
   └── Zurück auf Entwurf ── Freigegeben (schreibgeschützt)
                              └── Neue Version → neuer Entwurf
StatusBedeutung
EntwurfDie Version lässt sich bearbeiten und beliebig oft bauen.
FreigegebenDie Version wurde installiert und ist schreibgeschützt.

Bauen allein gibt eine Version nicht frei. Freigegeben wird sie erst durch das Installieren auf einem Depot.

Bauen

  1. Öffne die Version im Paket-Editor und wechsle auf den Reiter control.
  2. Speichere alle Änderungen – im control und in allen geöffneten Dateien. Solange etwas ungespeichert ist, bleibt Bauen ausgegraut („Bitte zuerst alle Änderungen speichern.“).
  3. Klick auf Bauen. Die Schaltfläche zeigt „Baut …“, und unten im Panel JOBS läuft das Protokoll des Build-Jobs mit.
  4. Nach dem Ende meldet oPBWeb „Paket gebaut“ bzw. „Build fehlgeschlagen“. Neben der Versionsauswahl erscheint das Abzeichen gebaut.

Werkzeugleiste mit Abzeichen „gebaut“ und den Schaltflächen Bauen und Installieren

Du kannst eine Version im Status Entwurf so oft bauen, wie du willst. Jeder Build ersetzt den vorherigen; die Version bleibt bearbeitbar.

Das Abzeichen „gebaut“

Das Abzeichen zeigt, ob der letzte Build noch zum aktuellen Stand der Version passt:

  • gebaut – Der Build entspricht dem aktuellen Stand. Du kannst installieren.
  • seit dem Bauen geändert – Seit dem letzten Build hast du control-Daten, Properties, Abhängigkeiten oder Dateien geändert. Bau die Version erneut, bevor du sie installierst.

Ohne Abzeichen wurde die Version noch nie gebaut.

Wenn der Build fehlschlägt

Das Protokoll im Panel JOBS (und unter Jobs ) nennt den Grund. Häufige Ursachen:

MeldungUrsache und Abhilfe
„Script Datei (Aktion) fehlt in CLIENT_DATA.“Im control ist für eine Aktion ein Script eingetragen, das es nicht gibt. Leg die Datei an oder korrigiere den Eintrag unter Produkt › Scripte je Aktion.
„Die Version wurde während des Builds geändert. Bitte erneut bauen.“Jemand hat während des Bauens gespeichert. Bau erneut.
„Für diese Version läuft bereits ein Build.“Warte, bis der laufende Build fertig ist.

Warnungen im Protokoll (kein Script für irgendeine Aktion, keine Dateien in CLIENT_DATA/) brechen den Build nicht ab, deuten aber meist auf ein unvollständiges Paket hin.

Gebautes Paket herunterladen

Sobald es einen Build gibt, lädst du ihn mit .opsi herunterladen in der Werkzeugleiste herunter. Die Prüfsummendatei holst du über ⋯ › .md5 herunterladen. Beides steht jeder Rolle zur Verfügung, auch für freigegebene Versionen.

Installieren

Installieren … überträgt den Build auf die gewählten Depots und installiert ihn dort. Die Schaltfläche ist nur aktiv, wenn

  • die Version gebaut ist und das Abzeichen gebaut zeigt (sonst: „Bitte zuerst bauen: Die Version wurde noch nicht gebaut oder seitdem geändert.“) und
  • es keine ungespeicherten Änderungen gibt.
  1. Klick auf Installieren …. Der Dialog „Installieren: firefox 128.0-1“ öffnet sich.

    Dialog Installieren mit Depots, Configserver, Stufen und Optionen

  2. Wähl in der Tabelle die Depots aus. Die Tabelle enthält die Depots aller Configserver. Für jedes Depot siehst du:

    • Depot – die Depot-ID, beim Depot auf dem Configserver selbst mit dem Zusatz „Configserver“,
    • Configserver – der Name des Configservers, zu dem das Depot gehört,
    • Stufe – die wirksame Stufe Produktion, Staging oder Test; kursiv, wenn das Depot sie von seinem Configserver erbt,
    • Installiert – die dort installierte Version und den Zeitpunkt des letzten Abgleichs.

    Vorausgewählt sind die Depots, auf denen du zuletzt installiert hast.

  3. Setz bei Bedarf die Optionen (siehe unten).

  4. Prüf den Zähler „2 von 3 Depots ausgewählt“ und klick auf Installieren.

  5. Der Dialog schließt sich, das Panel JOBS zeigt das Protokoll. Am Ende meldet oPBWeb „Job erfolgreich abgeschlossen“ oder „Job fehlgeschlagen“.

Die Depots werden nacheinander bearbeitet. Ist ein Depot gerade durch einen anderen Job belegt, wartet die Installation, bis es frei ist.

Gesperrte Depots im Dialog

Nicht jedes Depot lässt sich auswählen. Der Grund steht in der letzten Spalte:

HinweisBedeutung
„erfordert Rolle Releaser“Das Depot hat die Stufe Produktion, du hast aber nur die Rolle Packager. Test- und Staging-Depots darfst du als Packager bespielen.
„deaktiviert“Ein Administrator hat das Depot deaktiviert.
„nicht mehr vorhanden“Der Configserver meldet das Depot nicht mehr.

Depots erben die Stufe ihres Configservers; neue Configserver stehen zunächst auf Produktion. Welche Server und Depots Test- oder Staging-Stufe haben, legt ein Administrator fest, siehe opsi-Server und Depot-Verwaltung . Hast du mindestens ein produktives Depot ausgewählt, weist der Dialog mit „Mindestens ein produktives Depot ist ausgewählt.“ darauf hin.

Sind gar keine Depots bekannt, erscheint „Keine Depots bekannt. Bitte unter „Depots“ abgleichen.“ – siehe Depots .

Optionen beim Installieren

  • Setup auf allen Clients anfordern, auf denen das Produkt installiert ist – Nach der Installation setzt oPBWeb auf jedem gewählten Depot für alle Clients, auf denen das Produkt bereits installiert ist, die Aktionsanforderung setup. Clients ohne das Produkt bleiben unberührt. So verteilst du ein Update gezielt an die bisherigen Installationen.
  • Installation erzwingen (force), auch wenn das Produkt gesperrt ist – Installiert auch dann, wenn das Produkt auf dem Depot gesperrt ist, z. B. nach einer abgebrochenen Installation. Alternativ entsperrst du das Produkt unter Depots .

Freigegebene Versionen

Nach der Installation ist die Version freigegeben. Im Editor erscheint der Hinweis „Version 128.0-1 ist freigegeben (installiert) und schreibgeschützt. Für Änderungen eine neue Version anlegen oder zurück auf Entwurf setzen.“ mit Dateiname und Größe des Builds sowie den Schaltflächen Neue Version und Zurück auf Entwurf. Alle Formulare, der Dateibaum und der Scripteditor sind schreibgeschützt.

Freigegebene Version mit Hinweis und den Schaltflächen Neue Version und Zurück auf Entwurf

Eine freigegebene Version kannst du jederzeit erneut installieren, z. B. auf weiteren Depots. Installieren … ist dann die hervorgehobene Schaltfläche.

Auf andere Stufe übernehmen

Rollen: Packager, Releaser

Ein Paket, das auf den Test-Depots funktioniert, bringst du mit dieser Aktion unverändert auf die Depots der nächsten Stufe. Übernommen wird genau das Paket, das auf den Depots der Quellstufe installiert ist – derselbe Build, kein neuer. Deshalb lassen sich nur freigegebene Versionen übernehmen.

Dialog „Pakete auf andere Stufe übernehmen“ von Test nach Staging

oPBWeb hat einen gemeinsamen Paketbestand für alle Configserver. Was auf welchem Depot installiert ist, unterscheidet sich je Server und kommt aus dem letzten Abgleich der Depots .

Typischer Ablauf

  1. Auf dem Test-Configserver entwickeln: aus der Workbench importieren, bearbeiten, bauen und auf den Test-Depots installieren. Dabei wird die Version freigegeben.
  2. Testen und die Version mit Übernehmen … von Test nach Staging bringen.
  3. Nach dem Test auf Staging die Version von Staging nach Produktion übernehmen. Dafür ist die Rolle Releaser nötig.

Dialog öffnen

  • Übernehmen … in der Werkzeugleiste der Paketliste öffnet den Dialog „Pakete auf andere Stufe übernehmen“ für alle Pakete.
  • Auf andere Stufe übernehmen … im Abschnitt Verteilung der Paketdetails öffnet denselben Dialog nur für das ausgewählte Paket („firefox auf andere Stufe übernehmen“).

Pakete übernehmen

  1. Wähl oben Von (Quellstufe, voreingestellt Test) nach (Zielstufe, voreingestellt Staging). Quell- und Zielstufe müssen verschieden sein.

  2. Prüf unter Ziel-Depots die Depots, auf die übernommen wird. Angeboten werden alle aktiven Depots der Zielstufe, auf allen Configservern. Vorausgewählt sind alle, die du ändern darfst; produktive Depots ohne die Rolle Releaser sind gesperrt („erfordert Rolle Releaser“).

  3. Prüf die Tabelle der Pakete:

    SpalteInhalt
    Product-IDKennung des Produkts
    Version auf … (z. B. Version auf Test)die neueste Version, die auf einem Depot der Quellstufe installiert ist
    Auf den Ziel-Depots„überall aktuell“ oder „fehlt auf 2 von 3“, dazu die Versionen, die stattdessen auf den Ziel-Depots liegen

    Der Chip Nur ausstehende (voreingestellt aktiv, nur im Dialog für alle Pakete) blendet Pakete aus, die auf allen Ziel-Depots schon aktuell sind. Vorausgewählt sind alle ausstehenden Pakete, die sich übernehmen lassen. Übernehmbare Pakete stehen oben.

  4. Setz bei Bedarf die Optionen:

    • Setup auf allen Clients anfordern, auf denen das Produkt installiert ist und Installation erzwingen (force), auch wenn das Produkt gesperrt ist – wie beim Installieren .
    • Auch auf die Workbench der Ziel-Configserver schreiben (vorhandene Projektordner werden überschrieben) – schreibt die Version zusätzlich als Projektordner in die Workbench jedes Configservers, zu dem ein Ziel-Depot gehört.
  5. Prüf den Zähler „Pakete: 2 · Ziel-Depots: 3“ und klick auf Übernehmen (n).

oPBWeb startet einen Installations-Job pro Version und, falls gewählt, einen Export-Job pro Version und Ziel-Configserver. Es meldet „Jobs gestartet: 3“. Jobs für dasselbe Depot laufen nacheinander. Den Fortschritt verfolgst du unter Jobs .

Warum lässt sich ein Paket nicht übernehmen?

Pakete ohne Häkchen zeigen in der Spalte Auf den Ziel-Depots den Grund:

HinweisBedeutung
„nicht in oPBWeb“Das Produkt gibt es nur auf den Depots, nicht in oPBWeb.
„in oPBWeb wieder Entwurf (kein getesteter Build)“Die Version wurde nach dem Test mit Zurück auf Entwurf wieder bearbeitbar gemacht. Der getestete Build existiert nicht mehr. Bau und installier sie erneut auf der Quellstufe.
„archiviert“Das Paket ist archiviert.

Hast du ein produktives Depot ausgewählt, weist der Dialog mit „Mindestens ein produktives Depot ist ausgewählt.“ darauf hin.

Deinstallieren

Mit ⋯ › Deinstallieren … entfernst du das Produkt von Depots.

  1. Öffne ⋯ und wähl Deinstallieren …. Der Dialog „Deinstallieren: firefox“ öffnet sich.
  2. Vorausgewählt sind alle Depots, auf denen das Produkt installiert ist. Depots ohne das Produkt sind mit „nicht installiert“ gesperrt; die Stufenregel gilt wie beim Installieren.
  3. Prüf die Optionen:
    • Dateien im Depot löschen (voreingestellt) – entfernt auch die Paketdateien vom Depot.
    • Deinstallation erzwingen (force) – deinstalliert auch, wenn das Produkt gesperrt ist.
  4. Klick auf Deinstallieren. Das Protokoll erscheint im Panel JOBS.

Deinstallieren bezieht sich auf das Produkt, nicht auf die gerade geöffnete Version. Der Status der Version in oPBWeb ändert sich dadurch nicht.

Zurück auf Entwurf

Mit Zurück auf Entwurf machst du eine freigegebene Version wieder bearbeitbar, ohne die Versionsnummer zu ändern. Das ist sinnvoll, wenn ein Fehler auffällt, die Versionsnummer aber gleich bleiben soll.

  1. Klick im Hinweis der freigegebenen Version auf Zurück auf Entwurf.
  2. Der Dialog „Version 128.0-1 wieder bearbeiten“ erklärt die Folgen. Ist die Version bereits auf Depots installiert, nennt er diese.
  3. Bestätige mit Zurück auf Entwurf. oPBWeb meldet „Version ist wieder bearbeitbar“.

Solange für die Version ein Job wartet oder läuft, ist Zurück auf Entwurf nicht möglich.

Neue Version

Neue Version legt eine bearbeitbare Kopie der aktuellen Version mit allen Daten und Dateien an. Du findest die Aktion im Hinweis einer freigegebenen Version und im Menü ⋯; sie funktioniert für Entwürfe und freigegebene Versionen.

  1. Klick auf Neue Version.
  2. Prüf Produktversion und Paketversion. Vorgeschlagen wird dieselbe Produktversion mit um eins erhöhter Paketversion; ist die Paketversion keine reine Zahl, wird .1 angehängt.
  3. Klick auf Anlegen. Der Editor öffnet die neue Version im Status Entwurf.

Denk daran, in der neuen Version einen Changelog-Eintrag anzulegen, siehe Paket-Editor .

In Workbench exportieren

Mit ⋯ › In Workbench exportieren … schreibst du die Version als Projektordner in die Workbench eines Configservers, z. B. um dort mit opsi-makepackage oder anderen Werkzeugen weiterzuarbeiten. Das geht für Entwürfe und freigegebene Versionen.

  1. Öffne ⋯ und wähl In Workbench exportieren ….
  2. Wähl unter Configserver den Server, in dessen Workbench du schreiben willst (Name und Stufe; vorbelegt ist der zuletzt gewählte, sonst der erste Server der Stufe Test).
  3. Gib den Projektordner an. Vorgeschlagen wird die Product-ID; / und \ sind nicht erlaubt.
  4. Gibt es den Ordner schon, setz das Häkchen Vorhandenen Ordner überschreiben (überzählige Dateien in den Paketordnern werden gelöscht). Ohne Häkchen schlägt der Export bei einem vorhandenen Ordner fehl.
  5. Klick auf Exportieren. Nach dem Job meldet oPBWeb „In die Workbench exportiert“.

Geschrieben werden nur OPSI/, CLIENT_DATA/ und SERVER_DATA/. Andere Inhalte des Projektordners bleiben erhalten. Nach dem Export zeigt die Paketliste den Projektordner unter Workbench . Den umgekehrten Weg beschreibt Pakete (Workbench …). Änderungen, die später direkt auf der Workbench entstehen, holst du mit Mit Workbench abgleichen … zurück, siehe Paket-Editor .

Job-Ausgabe verfolgen

Bauen, Installieren, Deinstallieren, das Übernehmen auf andere Stufen und der Export laufen als Jobs im Hintergrund. Du kannst währenddessen weiterarbeiten.

  • Das Panel JOBS unten im Editor öffnet sich beim Start automatisch. Es listet die letzten 30 Jobs dieses Produkts und zeigt das Protokoll des gewählten Jobs live an. Mit × schließt du das Panel, mit Jobs ▴ öffnest du es wieder.
  • Die Statusleiste zeigt den Fortschritt der Jobs, die du in diesem Browser-Tab gestartet hast.
  • Alle Jobs aller Benutzer findest du unter Jobs .