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