Bauen und verteilen
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
| Status | Bedeutung |
|---|---|
| Entwurf | Die Version lässt sich bearbeiten und beliebig oft bauen. |
| Freigegeben | Die 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
- Öffne die Version im Paket-Editor und wechsle auf den Reiter control.
- Speichere alle Änderungen – im control und in allen geöffneten Dateien. Solange etwas ungespeichert ist, bleibt Bauen ausgegraut („Bitte zuerst alle Änderungen speichern.“).
- Klick auf Bauen. Die Schaltfläche zeigt „Baut …“, und unten im Panel JOBS läuft das Protokoll des Build-Jobs mit.
- Nach dem Ende meldet oPBWeb „Paket gebaut“ bzw. „Build fehlgeschlagen“. Neben der Versionsauswahl erscheint das Abzeichen gebaut.

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:
| Meldung | Ursache 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.
Installieren gibt die Version frei; danach ist sie schreibgeschützt. Die Freigabe erfolgt bereits, wenn der Installations-Job startet, damit sich die Version während der Übertragung nicht mehr ändert. Wird die Version dabei auf keinem Depot installiert – weil die Installation überall fehlschlägt oder du den wartenden Job abbrichst –, ist sie danach wieder ein Entwurf. Klappt die Installation auf mindestens einem Depot, bleibt sie freigegeben. Willst du danach noch etwas ändern, nutze Zurück auf Entwurf oder Neue Version.
Klick auf Installieren …. Der Dialog „Installieren: firefox 128.0-1“ öffnet sich.

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.
Setz bei Bedarf die Optionen (siehe unten).
Prüf den Zähler „2 von 3 Depots ausgewählt“ und klick auf Installieren.
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:
| Hinweis | Bedeutung |
|---|---|
| „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.

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.

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
- Auf dem Test-Configserver entwickeln: aus der Workbench importieren, bearbeiten, bauen und auf den Test-Depots installieren. Dabei wird die Version freigegeben.
- Testen und die Version mit Übernehmen … von Test nach Staging bringen.
- 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
Wähl oben Von (Quellstufe, voreingestellt Test) nach (Zielstufe, voreingestellt Staging). Quell- und Zielstufe müssen verschieden sein.
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“).
Prüf die Tabelle der Pakete:
Spalte Inhalt Product-ID Kennung 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.
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.
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:
| Hinweis | Bedeutung |
|---|---|
| „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.
- Öffne ⋯ und wähl Deinstallieren …. Der Dialog „Deinstallieren: firefox“ öffnet sich.
- 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.
- 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.
- 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.
- Klick im Hinweis der freigegebenen Version auf Zurück auf Entwurf.
- Der Dialog „Version 128.0-1 wieder bearbeiten“ erklärt die Folgen. Ist die Version bereits auf Depots installiert, nennt er diese.
- Bestätige mit Zurück auf Entwurf. oPBWeb meldet „Version ist wieder bearbeitbar“.
Auf den Depots bleibt das alte Paket installiert, bis du neu baust und erneut installierst. Danach liegt dort ein Paket mit gleicher Versionsnummer, aber anderem Inhalt. Clients, die das Produkt schon haben, bemerken die Änderung nicht von selbst – nutze dafür beim Installieren die Option Setup auf allen Clients anfordern, ….
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.
- Klick auf Neue Version.
- Prüf Produktversion und Paketversion. Vorgeschlagen wird dieselbe Produktversion mit um eins erhöhter Paketversion; ist die Paketversion keine reine Zahl, wird
.1angehängt. - 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.
- Öffne ⋯ und wähl In Workbench exportieren ….
- 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).
- Gib den Projektordner an. Vorgeschlagen wird die Product-ID;
/und\sind nicht erlaubt. - 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.
- 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 .