使用此命令可发布包。
用途
publish 命令用于将包发布到库服务器,或用于更新库服务器上的包。要发布到,包描述符文件必须可用。包描述符文件描述单个包,这对应于 Rational® Asset Manager 中的一个资产。
参数
使用
publish 命令时可以不包含任何参数,只包含一个压缩文件或位置。此外,您可以在命令行中指定配置文件。
| 参数 |
描述 |
必需 |
| -o |
使用 -o 参数可覆盖库服务器上的现有包。 |
否 |
| (未提供参数) |
包描述符必须在当前目录中。
当前目录中的所有文件都将作为工件上载到库服务器上的资产中。如果当前目录不包含包描述符,那么将搜索所有子目录以查找包描述符。包含包描述符的每个子目录被视为要发布的包。 |
否 |
| compressed_file |
包必须以 .zip 格式压缩。
包描述符必须在压缩文件的根文件夹中。
将抽取压缩文件,然后归档中的文件将作为工件上载到库服务器上的资产中。 |
否 |
| pathname |
包描述符必须在位置的根目录中。位置中的所有文件都将作为工件上载到库服务器上的资产中。如果位置中不包含包描述符,那么将搜索所有子目录以查找包描述符。包含包描述符的每个子目录被视为要发布的包。可以使用此参数一次发布多个包。请注意,包不能在其他包中定义。 |
否 |
| -c component_name:component_value |
要在库服务器上创建的组件包的名称和版本。组件包表示 publish 命令上载的所有包。 |
否 |
| -id build_ID |
发布时将 SNAPSHOT 变量替换为的值。 |
否 |
| -config configuration_file |
用于与库服务器进行通信的配置文件的完整路径。如果不在命令行中指定配置文件,那么将使用当前用户主目录的 .ram 子目录中的缺省配置文件。 |
不是必需,前提是当前用户主目录的 .ram 子目录中存在缺省配置文件。 |
包描述符语法
包是文件的集合。应用程序可交付内容、安装脚本和文档都可以是包。命令行界面将 JSON 文件 package.json 识别为包描述符。命令行界面还将 Maven pom.xml 和 .pom 文件识别为包描述符,但是如果任何包有多个包描述符,那么 package.json 文件将优先。包描述符必须包含包的 id 和 version 参数。包描述符中的其他参数为可选。
如果通过使用 Maven POM 文件作为包描述符来进行发布,那么 POM 文件中的 groupId 参数将创建为资产的 Group.Id 属性。
- id
- 包标识必须是唯一的。
- version
- 将使用语义版本控制规则来处理包版本。
要了解有关语义版本控制规则的更多信息,请参阅语义版本控制
还可以使用保留字 SNAPSHOT 来指示当前构建的时间戳记。例如,如果最新构建于 2010 年 11 月 20 日下午 5 点运行,那么版本 1.0.0-SNAPSHOT 将扩展为 1.0.0-20101120-1700。
- description
- 包的文本描述是可选的。
- 所有者
- 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 参数用于设置 Rational Asset Manager 中的资产类型。
如果不指定 type 参数,那么使用的 type 参数为 Implementation。
- 依赖性
- dependencies 参数是信息的组合,这些信息描述了此包所依赖的其他包。
包标识是必需的。版本号或查询字符串是可选的。
要搜索处于特定状态的资产,请对查询字符串使用 state:(state_name)。要搜索标识,请对查询字符串使用 id:(ID)。还可以使用 Rational Asset Manager 搜索快捷方式作为查询字符串,例如:ramSearch:(1txt%2Ckeyword)。
在 Rational Asset Manager 中进行搜索之后,通过单击查看搜索快捷方式图标便可以获取搜索快捷方式。
下表显示了 Maven POM 文件参数与
package.json 文件参数之间的映射关系。
| package.json 文件描述符 |
Maven POM 文件参数 |
| id |
artifactId |
| version |
version |
| description |
description |
| 类型 |
不适用。使用 POM 文件进行发布时,type 设置为 Implementation。 |
| 所有者 |
contributor |
| 依赖性 |
不适用。 |
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