Эта команда используется для публикации пакетов.
Назначение
Команда publish используется для публикации
пакета на сервере библиотек или для обновления пакета на сервере библиотек. Для того чтобы
опубликовать пакет, должен быть доступен файл описания пакета. Файл описания пакета описывает
одинарный пакет, который соответствует одному ресурсу в
Rational Asset
Manager.
Параметры
Команду
publish можно использовать без
аргументов, со сжатым файлом или с расположением. Кроме того, можно указать файл конфигурации в
командной строке.
| Аргумент |
Описание |
Обязательное |
| -o |
Параметр -o используется для перезаписи существующего пакета на
сервере библиотек. |
Нет |
| (аргументы не указаны) |
Файл описания должен быть в текущем каталоге. Все файлы в текущем каталоге выгружаются
как артефакты в ресурс на сервере библиотек. Если текущий каталог не содержит файла описания
пакета, он ищется во всех подкаталогах. Каждый подкаталог, который содержит файл описания пакета,
считается пакетом для публикации. |
Нет |
| сжатый_файл |
Пакет должен быть сжат в формате .zip. Файл описания пакета должен
находиться в корневом каталоге сжатого файла. Сжатый файл извлекается, а затем файлы из архива
выгружаются как артефакты в ресурс на сервере библиотек. |
Нет |
| путь |
Файл описания пакета должен находиться в корневом каталоге расположения. Все файлы в
расположении выгружаются как артефакты в ресурс на сервере библиотек. Если расположение не
содержит файла описания пакета, он ищется во всех подкаталогах. Каждый подкаталог, который
содержит файл описания пакета, считается пакетом для публикации. Этот параметр можно использовать
для публикации нескольких пакетов одновременно. Заметьте, что пакеты не могут быть определены
внутри других пакетов. |
Нет |
| -c имя_компонента:значение_компонента |
Имя и версия пакета компонента для создания на сервере библиотек. Пакет компонента
представляет все пакеты, выгруженные командой publish. |
Нет |
| -id ИД_компоновки |
Значение для подстановки вместо переменной SNAPSHOT при публикации. |
Нет |
| -config файл_конфигурации |
Полный путь к файлу конфигурации, используемому для связи с сервером библиотек. Если файл
конфигурации не указан в командной строке, используется файл конфигурации по умолчанию из
подкаталога .ram домашнего каталога текущего пользователя. |
Нет, если файл конфигурации существует в подкаталоге .ram домашнего
каталога текущего пользователя. |
Синтаксис файла описания пакета
Пакет является набором файлов. Конечные
продукты приложений, сценарии установки и документация могут быть пакетами. Интерфейс командной
строки распознает файл JSON package.json как файл описания пакета. Интерфейс
командной строки также распознает файлы Maven pom.xml и
.pom как файлы описания пакетов, но если для какого-либо пакета доступно
несколько файлов описания, файл package.json имеет преимущество. Файл
описания пакета должен включать параметры id и version
для пакета. другие параметры в файле описания пакета являются необязательными. При публикации с
помощью файла POM Maven как файла описания пакета, параметр groupId из файла
POM создается как атрибут Group.Id в ресурсе.
- id
- ИД пакета должен быть уникальным.
- version
- Версия пакета обрабатывается с помощью правил семантической поддержки версий. Дополнительная информация
о правилах семантической поддержки версий содержится в разделе
Семантическая поддержка версий. Можно
также использовать зарезервированное слово SNAPSHOT для включения системного
времени текущей компоновки. Например, версия 1.0.0-SNAPSHOT будет расширена
до 1.0.0-20101120-1700, если последняя компоновка выполнена 20 ноября 2010 года в 17:00.
- description
- Текстовое описание пакета является необязательным.
- owners
- Параметр owners является массивом пользователей в следующем формате:
{ "name" : "Simone Dray",
"email" : "simdray@example.com",
"url" : "http://simdray.example.com"
}
Можно также использовать укороченную версию информации, как в следующем примере:
"Simone Dray <simdray@example.com> (http://simdray.example.com)". В любом
формате параметры email и url являются необязательными.
Если параметр owners не указан, владельцем опубликованного ресурса
назначается пользователь, указанный в файле конфигурации.
- type
- Параметр type используется для установки типа ресурса в
Rational Asset
Manager.
Если параметр type не задан, учитывается параметр type
для Implementation.
- dependencies
- Параметр dependencies является массивом информации, которая описывает
другие пакеты, от которых зависит данный пакет. ИД пакета является обязательным. Номер версии и
строка запроса являются необязательными. Для поиска ресурса в определенном состоянии используйте
state:(имя_состояния) для строки запроса. Для поиска ИД
используйте id:(ИД) для строки запроса. Можно также
использовать сокращение поиска
Rational Asset
Manager
как строку запроса, например: ramSearch:(1txt%2Ckeyword). Сокращения поиска
можно получить, щелкнув на значке Показать сокращения поиска после поиска в
Rational Asset
Manager.
В следующей таблице показано, как параметры фала POM Maven сопоставлены параметрам файла
package.json.
| Параметр файла package.json |
Параметр файла POM Maven |
| id |
artifactId |
| version |
version |
| description |
description |
| type |
Не применимо. При публикации с помощью файла POM тип устанавливается как
Implementation. |
| owners |
contributor |
| dependencies |
Не применимо. |
Пример файла 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