AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将软件包版本添加到 Distributor

要添加软件包版本,您需要创建软件包,然后使用 Distributor 通过向旧版本已存在的 SSM 文档中添加条目来添加软件包版本。为了节省时间,可以更新旧版本包的清单,更改清单中 version 条目的值(例如,从 Test_1.0 更改为 Test_2.0),并将其保存为新版本的清单。Distributor 控制台中的简单添加版本工作流程会为您更新清单文件。

新的软件包版本可以:

  • 替换附加到当前版本的至少一个可安装文件。

  • 添加新的可安装文件以支持其他平台。

  • 删除文件以停止对特定平台的支持。

较新的版本可以使用相同的 S3 存储桶,但必须具有末尾显示不同文件名的 URL。您可以使用 AWS Systems Manager 控制台或 AWS CLI 添加新版本。将具有确切名称的可安装文件上传为 S3 存储桶中的现有可安装文件将覆盖现有文件。没有可安装的文件从旧版本复制到新版本;您必须从旧版本上传可安装文件才能使它们成为新版本的一部分。在 Distributor 完成创建新软件包版本后,您可以删除 S3 存储桶或调整其用途,因为 Distributor 在版本控制过程中将软件复制到内部 Systems Manager 存储桶。

添加软件包版本(控制台)

在执行以下步骤前,请按照创建软件包中的说明为此版本创建一个新软件包。然后,使用 AWS Systems Manager 控制台将新的软件包版本添加到 Distributor。

添加软件包版本(简单)

要使用简单工作流程添加软件包版本,请准备更新的可安装文件或添加可安装文件,以支持更多平台和架构。然后,使用 Distributor 上传新的和更新的可安装文件并添加软件包版本。Distributor 控制台中简化的 Add version (添加版本) 工作流程为您更新清单文件和关联的 SSM 文档。

添加软件包版本(简单)

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择 Distributor

  3. 在 Distributor 主页上,选择要为其添加其他版本的软件包。

  4. Add version (添加版本) 页面上,选择 Simple (简单)

  5. Version name (版本名称) 中,输入版本名称。新版本的版本名称必须与旧版本名称不同。版本名称最多为 512 个字符,并且不能包含特殊字符。

  6. 对于 S3 存储桶名称,从列表中选择现有的 S3 存储桶。这可以是用于存储旧版本的可安装文件的同一个存储桶,但可安装文件名必须不同,以避免覆盖存储桶中的现有可安装文件。

  7. S3 键前缀中,输入存储桶中存储可安装资产的子文件夹。

  8. Upload software (上传软件) 中,浏览要附加到新版本的可安装软件文件。现有版本中的可安装文件不会自动复制到新版本;如果您希望任何相同的可安装文件成为新版本的一部分,则必须上传旧版软件包中的任何可安装文件。您可以在单个操作中上传多个软件文件。

  9. 对于目标平台,请验证为每个可安装文件显示的目标操作系统平台是否正确。如果显示的操作系统不正确,请从下拉列表中选择正确的操作系统。

    简单版本控制工作流程中,由于您只上传每个可安装文件一次,因此需要额外的步骤在多个操作系统上定位单个文件。例如,如果您上传名为 Logtool_v1.1.1.rpm 的可安装软件文件,则必须更改简单工作流程中的某些默认值,以指示 Distributor 同时在 Amazon Linux 和 Ubuntu 操作系统上定位相同的软件。您可以执行以下操作之一来解决此限制。

    • 改用高级版本控制工作流程,在开始之前将每个可安装文件压缩为 ZIP 文件,然后手动创建清单,以便可以在多个操作系统平台或版本中定位一个可安装文件。有关更多信息,请参阅 添加软件包版本(高级)

    • 简单工作流程中手动编辑清单文件,以便在多个操作系统平台或版本中定位您的 ZIP 文件。有关如何执行此操作的更多信息,请参阅步骤 2:创建 JSON 软件包清单中步骤 4 的末尾。

  10. 对于平台版本,验证所显示的操作系统平台版本是 _any 或您希望软件应用的确切的特定操作系统发行版本。有关指定平台版本的更多信息,请参阅步骤 2:创建 JSON 软件包清单中的步骤 4。

  11. 对于架构,请从下拉列表中为每个可安装文件选择正确的处理器架构。有关支持的架构的更多信息,请参阅支持的软件包平台和架构

  12. (可选)展开 Installation and uninstallation scripts (安装和卸载脚本),并查看 Distributor 为可安装软件生成的安装和卸载脚本。

  13. 要向新版本添加更多可安装的软件文件,请选择 Add software (添加软件)。否则,转到下一步。

  14. (可选)展开清单,然后审核 Distributor 为您的可安装软件包生成的 JSON 清单。如果您在开始此过程后更改了有关可安装软件的任何信息(例如平台版本或目标平台),请选择生成清单以显示更新的软件包清单。

    如果要定位可在多个操作系统上安装的软件,则可以手动编辑清单,如步骤 9 中所述。有关编辑该清单的更多信息,请参阅步骤 2:创建 JSON 软件包清单

  15. 完成添加软件和审核目标平台、版本和架构数据时,请选择 Add version (添加版本)

  16. 等待 Distributor 完成上传软件和创建新的软件包版本。Distributor 显示每个可安装文件的上传状态。根据要添加的软件包的数量和大小,这可能需要几分钟时间。Distributor 会自动将您重定向到软件包的 Package details (软件包详细信息) 页面,但您可以选择在上传软件之后自行打开此页面。Package details (软件包详细信息) 页面不会显示有关软件包的所有信息,直到 Distributor 完成创建新的软件包版本。要停止上传和软件包版本创建,请选择 Stop upload (停止上传)

  17. 如果 Distributor 无法上传任何软件可安装文件,它会显示 Upload failed (上传失败) 消息。要重试上传,请选择 Retry upload (重试上传)。有关如何排除软件包版本创建失败的更多信息,请参阅对 AWS Systems Manager Distributor 进行故障排除

  18. 在 Distributor 完成创建新的软件包版本后,在软件包的 Details (详细信息) 页面的 Versions (版本) 选项卡上,在可用软件包版本列表中查看新版本。通过以下方式设置软件包的默认版本:选择一个版本,然后选择 Set default version (设置默认版本)

    如果不设置默认版本,则最新的软件包版本即为默认版本。

添加软件包版本(高级)

要添加软件包版本,您需要创建软件包,然后使用 Distributor 通过向旧版本存在的 SSM 文档中添加条目来添加软件包版本。为了节省时间,可以更新旧版本包的清单,更改清单中 version 条目的值(例如,从 Test_1.0 更改为 Test_2.0),并将其保存为新版本的清单。您必须具有更新的清单才能使用高级工作流程添加新的软件包版本。

添加软件包版本(高级)

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择 Distributor

  3. 在 Distributor 主页上,选择要向其添加其他版本的软件包,然后选择 Add version (添加版本)

  4. Version name (版本名称) 中,输入清单文件中 version 条目的确切值。

  5. 对于 S3 存储桶名称,从列表中选择现有的 S3 存储桶。这可以是用于存储旧版本的可安装文件的同一个存储桶,但可安装文件名必须不同,以避免覆盖存储桶中的现有可安装文件。

  6. S3 键前缀中,输入存储桶中存储可安装资产的子文件夹。

  7. 清单中,选择 Extract from package (从软件包提取) 以使用已通过 ZIP 文件上传到 S3 存储桶的清单。

    (可选)如果未将修订后的 JSON 清单上传到存储 ZIP 文件的 S3 存储桶,请选择 New manifest (新建清单)。您可以在 JSON 编辑器字段中编写或粘贴整个清单。有关如何创建 JSON 清单的更多信息,请参阅步骤 2:创建 JSON 软件包清单

  8. 当您完成处理清单后,选择 Add package version (添加软件包版本)

  9. 在软件包的 Details (详细信息) 页面的 Versions (版本) 选项卡上,在可用软件包版本列表中查看新版本。通过以下方式设置软件包的默认版本:选择一个版本,然后选择 Set default version (设置默认版本)

    如果不设置默认版本,则最新的软件包版本即为默认版本。

添加软件包版本 (AWS CLI)

您可以使用 AWS CLI 将新的软件包版本添加到 Distributor。在运行以下命令前,必须创建新的软件包版本并将其上传到 S3,如本主题开头所述。

添加软件包版本 (AWS CLI)

  1. 运行下面的命令并附上新软件包版本的条目来编辑 AWS Systems Manager 文档。将 document-name 替换为您的文档的名称。将 S3-bucket-URL-to-manifest-file 替换为您在步骤 3:将软件包和清单上传到 Amazon S3 存储桶中复制的 JSON 清单的 URL。S3-bucket-URL-of-package 是存储整个软件包的 S3 存储桶的 URL。将 version-name-from-updated-manifest 替换为清单中 version 的值。将 --document-version 参数设置为 $LATEST,以使与此软件包版本关联的文档成为文档的最新版本。

    aws ssm update-document --name "document-name" --content "S3-bucket-URL-to-manifest-file" --attachments Key="SourceUrl",Values="S3-bucket-URL-of-package" --version-name version-name-from-updated-manifest --document-version $LATEST

    以下是示例。

    aws ssm update-document --name ExamplePackage --content "https://s3.amazonaws.com/mybucket/ExamplePackage/manifest.json" --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/mybucket/ExamplePackage" --version-name 1.1.1 --document-version $LATEST
  2. 运行以下命令来验证软件包已更新并显示包清单。将 package-name 替换为您的软件包名称,(可选)将 document-version 替换为更新的文档的版本号(不同于软件包的版本)。如果此软件包版本与文档的最新版本关联,则可以为可选的 --document-version 参数的值指定 $LATEST

    aws ssm get-document --name "package-name" --document-version "document-version"

有关可以在 update-document 命令中使用的其他选项的信息,请参阅《AWS Systems Manager section of the AWS CLI Command Reference》中的 update-document