publish

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

Feedback