publish

Utilisez cette commande pour publier un package.

Objectif

La commande publish est utilisée pour publier un package sur le serveur de bibliothèque ou pour mettre à jour un package sur le serveur de bibliothèque. Pour publier un package, un fichier descripteur de package doit être disponible. Un fichier descripteur de package décrit un seul package, qui correspond à un seul actif dans Rational Asset Manager.

Paramètres

Vous pouvez utiliser la commande publish sans argument, avec un fichier compressé ou avec un emplacement. Vous pouvez aussi spécifier le fichier de configuration sur la ligne de commande.
Argument description Requis
-o Utilisez le paramètre -o pour remplacer un package existant sur le serveur de bibliothèque. Non
(pas d'argument spécifié) Le descripteur de package doit se trouver dans le répertoire de travail. Tous les fichiers du répertoire de travail sont téléchargés en tant qu'artefacts vers l'actif sur le serveur de bibliothèque. Si le répertoire de travail ne contient pas de descripteur de package, un descripteur de package est recherché dans tous les sous-répertoires. Chaque sous-répertoire contenant un descripteur de package est traité comme un package à publier. Non
fichier_compressé Le package doit être compressé au format .zip. Le descripteur de package doit se trouver dans le dossier racine du fichier compressé. Le fichier compressé est extrait puis tous les fichiers de l'archive sont téléchargés en tant qu'artefacts vers l'actif sur le serveur de bibliothèque. Non
chemin_accès Le descripteur de package doit se trouver à la racine de l'emplacement. Tous les fichiers de l'emplacement sont téléchargés en tant qu'artefacts vers l'actif sur le serveur de bibliothèque. Si l'emplacement ne contient pas de descripteur de package, un descripteur de package est recherché dans tous les sous-répertoires. Chaque sous-répertoire contenant un descripteur de package est traité comme un package à publier. Vous pouvez utiliser ce paramètre pour publier plusieurs packages en même temps. Notez que vous ne pouvez pas définir des packages à l'intérieur d'autres packages. Non
-c nom_composant:valeur_composant Le nom et la version d'un package de composants à créer sur le serveur de bibliothèque. Un package de composants représente tous les packages téléchargés par la commande publish. Non
-id ID_génération La valeur à substituer à la variable SNAPSHOT lors de la publication. Non
-config fichier_configuration Chemin complet du fichier de configuration à utiliser pour la communication avec le serveur de bibliothèque. Si vous ne spécifiez pas de fichier de configuration sur la ligne de commande, le fichier de configuration par défaut du sous-répertoire .ram du répertoire de base de l'utilisateur en cours est utilisé. Non, dès lors que le configuration par défaut existe dans le sous-répertoire .ram du répertoire de base de l'utilisateur en cours.

Syntaxe du descripteur de package

Un package est une collection de fichiers. Des éléments tels que des livrables, des scripts d'installation et de la documentation d'un application peuvent tous être des packages. L'interface de ligne de commande reconnaît le fichier JSON package.json comme descripteur du package. L'interface de ligne de commande reconnaît aussi les fichiers pom.xml et .pom Maven comme descripteurs de package, mais si plusieurs descripteurs de package sont disponibles pour un package, le fichier package.json a priorité. Le descripteur de package doit inclure des paramètres id et version pour le package. Les autres paramètres du descripteur de package sont facultatifs. Si vous publiez en utilisant un fichier POM Maven comme descripteur de package, le paramètre groupId du fichier POM est créé en tant qu'attribut Group.Id sur l'actif.

id
L'ID package doit être unique.
version
La version du package est gérée à l'aide de règles de gestion de versions sémantiques. Pour plus d'informations sur les règles de gestion de versions sémantiques, voir Semantic Versioning (Gestion de versions sémantique). Vous pouvez aussi utiliser le mot réservé SNAPSHOT pour indiquer l'horodatage de la génération en cours. Par exemple, la version 1.0.0-SNAPSHOT peut être étendue à 1.0.0-20101120-1700 si la génération la plus récente a été exécutée le 20 novembre 2010 à 17h00.
description
Une description textuelle du package est facultative.
owners
Le paramètre owners est un tableau de personnes décrites selon le format suivant :
{   "name" : "Simone Dray",
	  "email" : "simdray@exemple.com",
	  "url" : "http://simdray.exemple.com"
}
Vous pouvez aussi utiliser une version raccourcie des informations, comme dans l'exemple suivant : "Simone Dray <simdray@exemple.com> (http://simdray.exemple.com)". Dans ces deux formats, les paramètres email et url sont facultatifs. Si vous ne spécifiez pas un paramètre owners, le propriétaire de l'actif publié est défini avec l'utilisateur spécifié dans le fichier de configuration.
type
Le paramètre type est utilisé pour définir le type d'actif dans Rational Asset Manager. Si vous ne spécifiez pas de paramètre type, la valeur de type est supposée être Implementation.
dependencies
Le paramètre dependencies est un tableau d'informations décrivant d'autres packages dont dépend ce package. L'ID package est obligatoire. Un numéro de version ou une chaîne de requête sont facultatifs. Pour rechercher un actif dans un état particulier, utilisez state:(nom_état) pour la chaîne de requête. Pour rechercher un ID, utilisez id:(ID) pour la chaîne de requête. Vous pouvez aussi utiliser un raccourci de recherche Rational Asset Manager comme chaîne de requête, par exemple : ramSearch:(1txt%2Ckeyword). Vous pouvez obtenir des raccourcis de recherche en cliquant sur l'icône Afficher le raccourci de recherche après une recherche dans Rational Asset Manager.
Le tableau suivant montre comment les paramètres du fichier POM Maven sont mappés aux paramètres du fichier package.json.
Paramètre du fichier package.json Paramètre du fichier POM Maven
id artifactId
version version
description description
type Non disponible. Lorsque vous publiez à l'aide d'un fichier POM, le type est défini à Implémentation.
owners contributor
dependencies Sans objet

Exemple de fichier package.json

{
  "id": "jke",
  "version": "2.1.0-SNAPSHOT",
  "description": "Fournit des services de vérification de compte.",
  "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:(prêt pour la vérification)" }
  ]
}
ram publish nouveau_package.zip

Commentaire