使用此命令可发布包。
| 参数 | 描述 | 必需 |
|---|---|---|
| -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 属性。
{ "name" : "Simone Dray",
"email" : "simdray@example.com",
"url" : "http://simdray.example.com"
}
还可以使用信息的简短版本,如以下示例中所示:"Simone Dray <simdray@example.com>
(http://simdray.example.com)"。在任何一种格式中,email 和 url 参数都是可选的。如果不指定 owners 参数,那么已发布资产的所有者将设置为配置文件中指定的用户。| package.json 文件描述符 | Maven POM 文件参数 |
|---|---|
| id | artifactId |
| version | version |
| description | description |
| type | 不适用。使用 POM 文件进行发布时,type 设置为 Implementation。 |
| owners | contributor |
| dependencies | 不适用。 |
{
"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