publish

使用此命令可发布包。

用途

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 文件将优先。包描述符必须包含包的 idversion 参数。包描述符中的其他参数为可选。 如果通过使用 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)"。在任何一种格式中,emailurl 参数都是可选的。如果不指定 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

反馈