Mit diesem Befehl können Sie Pakete publizieren.
Zweck
Der Befehl publish wird dazu verwendet, ein Paket
auf dem Bibliotheksserver zu publizieren oder zu aktualisieren. Zum Publizieren eines Pakets muss
eine Paketdeskriptordatei vorhanden sein. Eine Paketdeskriptordatei beschreibt ein einzelnes Paket, das genau einem
Asset in Rational Asset Manager
entspricht.
Parameter
Sie können den Befehl
publish ohne Angabe von Argumenten,
mit Angabe einer komprimierten Datei oder mit einer Positionsangabe verwenden. Darüber hinaus können Sie die
Konfigurationsdatei über die Befehlszeile angeben.
| Argument |
Beschreibung |
Erforderlich |
| -o |
Mit dem Parameter -o können Sie ein vorhandenes Paket auf dem Bibliotheksserver überschreiben. |
Nein |
| (keine Angabe) |
Der Paketdeskriptor muss im aktuellen Verzeichnis enthalten sein.
Alle Dateien im aktuellen Verzeichnis werden als Artefakte in das Asset auf dem Bibliotheksserver hochgeladen. Wenn
das aktuelle Verzeichnis keinen Paketdeskriptor enthält, werden alle Unterverzeichnisse nach einem Paketdeskriptor
durchsucht. Jedes Unterverzeichnis, das einen Paketdeskriptor enthält, wird als zu publizierendes Paket behandelt. |
Nein |
| komprimierte_datei |
Das Paket muss im ZIP-Format (.zip) komprimiert sein.
Der Paketdeskriptor muss sich im Stammordner in der komprimierten Datei befinden. Die komprimierte Datei wird
extrahiert. Anschließend werden die Dateien im Archiv als Artefakte in das Asset auf dem Bibliotheksserver
hochgeladen. |
Nein |
| pfadname |
Der Paketdeskriptor muss sich im Stammelement der Position befinden. Alle Dateien an der Position
werden als Artefakte in das Asset auf dem Bibliotheksserver hochgeladen. Wenn die Position keinen Paketdeskriptor enthält,
werden alle Unterverzeichnisse nach einem Paketdeskriptor durchsucht. Jedes Unterverzeichnis, das einen
Paketdeskriptor enthält, wird als zu publizierendes Paket behandelt. Sie können diesen Parameter verwenden, um
mehrere Pakete gleichzeitig zu publizieren. Beachten Sie, dass Pakete nicht innerhalb anderer Pakete definiert werden können. |
Nein |
| -c komponentenname:komponentenwert |
Der Name und die Version eines Component Package, das auf dem Bibliotheksserver erstellt werden
soll. Ein Component Package stellt alle Pakete dar, die mit dem Befehl publish hochgeladen
wurden. |
Nein |
| -id build-id |
Der Wert, der für die Variable SNAPSHOT beim Publizieren einzusetzen ist. |
Nein |
| -config konfigurationsdatei |
Der vollständige Pfad zu der Konfigurationsdatei, die für die Kommunikation mit dem
Bibliotheksserver verwendet werden soll. Wenn Sie keine Konfigurationsdatei über die Befehlszeile angeben,
wird die Standardkonfigurationsdatei im Unterverzeichnis .ram des Ausgangsverzeichnisses
des aktuellen Benutzers verwendet. |
Nein, solange die Standardkonfigurationsdatei im Unterverzeichnis .ram des
Ausgangsverzeichnisses des aktuellen Benutzers vorhanden ist. |
Syntax für Paketdeskriptoren
Ein Paket ist eine Sammlung von Dateien. Anwendungslieferobjekte,
Installationsscripts und Dokumentation können Pakete sein. Die Befehlszeilenschnittstelle erkennt die JSON-Datei
package.json als Paketdeskriptor. Die Befehlszeilenschnittstelle erkennt auch Maven-Dateien
pom.xml und .pom als Paketdeskriptoren. Falls jedoch mehrere Paketdeskriptoren
für ein Paket vorhanden sind, erhält die Datei package.json Vorrang. Der Paketdeskriptor muss
die Parameter id und version für das Paket enthalten. Andere Parameter
im Paketdeskriptor sind optional.
Wenn Sie mit einer Maven-POM-Datei als Paketdeskriptor publizieren, wird der Parameter groupId
aus der POM-Datei als Attribut Group.Id im Asset erstellt.
- id
- Die Paket-ID muss eindeutig sein.
- version
- Die Paketversion wird mithilfe semantischer Versionierungsregeln verarbeitet.
Weitere Informationen zu semantischen Versionierungsregeln finden Sie unter Semantic Versioning.
Sie können auch das reservierte Wort SNAPSHOT verwenden, um die Zeitmarke des aktuellen
Builds anzugeben. Beispiel: Die Version 1.0.0-SNAPSHOT wird als 1.0.0-20101120-1700 interpretiert,
wenn der letzte Build am 20. November 2010 um 17:00 Uhr ausgeführt wurde.
- description
- Eine Beschreibung des Pakets ist optional.
- owners
- Der Parameter owners gibt ein Array mit Personen an, die mit dem folgenden Format beschrieben werden:
{ "name" : "Simone Dray",
"email" : "simdray@example.com",
"url" : "http://simdray.example.com"
}
Sie können auch eine abgekürzte Version der Informationen wie im folgenden Beispiel verwenden:
"Simone Dray <simdray@example.com>
(http://simdray.example.com)". In beiden Formaten sind die Parameter email und url
optional. Wenn Sie keinen Parameter owners angeben, wird der Eigner des publizierten Assets auf den
Benutzer gesetzt, der in der Konfigurationsdatei angegeben ist.
- type
- Der Parameter type wird verwendet, um den Assettyp in
Rational Asset Manager festzulegen.
Wenn Sie keinen Parameter type angeben, wird für den Parameter type der Wert
Implementation angenommen.
- dependencies
- Der Parameter dependencies gibt ein Array mit Informationen an, die andere Pakete
beschreiben, von denen dieses Paket abhängig ist.
Die Paket-ID ist erforderlich. Eine Versionsnummer oder eine Abfragezeichenfolge sind optional.
Zur Suche nach einem Asset in einem bestimmten Status verwenden Sie
state:(statusname) als Abfragezeichenfolge.
Wenn Sie nach einer ID suchen wollen, verwenden Sie id:(ID) als
Abfragezeichenfolge. Sie können auch einen
Rational Asset Manager-Direktaufruf zur Suche
als Abfragezeichenfolge verwenden. Beispiel: ramSearch:(1txt%2Ckeyword).
Sie können Direktaufrufe zur Suche ermitteln, indem Sie auf das Symbol
Suchverknüpfung anzeigen klicken, nachdem Sie in
Rational Asset Manager
gesucht haben.
In der folgenden Tabelle wird die Zuordnung von Maven-POM-Dateiparametern zu
den Parametern der Datei
package.json dargestellt.
| Parameter der Datei package.json |
Parameter der Maven-POM-Datei |
| id |
artifactId |
| version |
version |
| description |
description |
| type |
Nicht zutreffend. Wenn Sie die Publizierung mithilfe einer POM-Datei durchführen, wird der Typ
auf den Wert Implementation gesetzt. |
| owners |
contributor |
| dependencies |
Nicht zutreffend. |
Beispiel für eine Datei 'package.json'
{
"id": "jke",
"version": "2.1.0-SNAPSHOT",
"description": "Provides checking account services.",
"owners" : [
{ "name" : "Bill Jordan", "email" : "bjordan@example.com" } ,
{ "name" : "Lisa Starky", "email" : "lstarky@example.com" }
],
"type" : "implementation",
"dependencies": [
{ "id" : "JKE_infra", "version" : "2.1-SNAPSHOT" } ,
{ "id" : "devops_cookbooks-3.0", "query" : "state:(ready for verification)" }
]
}
ram publish newpackage.zip