將套件版本新增至 Distributor - AWS Systems Manager

將套件版本新增至 Distributor

若要新增套件版本,請建立套件,然後透過將項目新增至已存在於較舊版本的 AWS Systems Manager (SSM) 文件,來使用 Distributor 新增套件版本。Distributor 是 AWS Systems Manager 功能。若要節省時間,請更新較舊版本套件的資訊清單,變更資訊清單中 version 項目的值 (例如,從 Test_1.0Test_2.0),並儲存為新版本的資訊清單。Distributor 主控台中的簡便 Add version (新增版本) 工作流程會為您更新資訊清單檔案。

新套件版本能:

  • 至少替換一個連接到目前版本的安裝型檔案。

  • 新增新的安裝型檔案,來支援額外的平台。

  • 刪除檔案,不再支援特定平台。

較新版本可以使用相同的 Amazon Simple Storage Service (Amazon S3) 儲存貯體,但 URL 尾端顯示的檔案名稱必須不同。您可以使用 Systems Manager 主控台或 AWS Command Line Interface(AWS CLI) 以新增新版本。上傳與 Amazon S3 儲存貯體中現有安裝型檔案相同名稱的安裝型檔案,會覆寫現有的檔案。系統不會將安裝型檔案從舊版複製到新版,您必須從舊版上傳安裝型檔案來讓這些檔案成為新版本的一部分。在 Distributor 完成新套件版本的建立後,您就可以刪除或重新利用 Amazon S3 儲存貯體,因為 Distributor 會在版本控制程序期間將您的軟體複製到內部 Systems Manager 儲存貯體。

注意

每個套件最多能保留 25 個版本。您可以刪除不再需要的版本。

新增套件版本 (主控台)

執行這些步驟之前,請按照建立套件中的指示建立版本的新套件。接著使用 Systems Manager 主控台,將套件版本新增到 Distributor。

新增套件版本 (簡單)

若要透過使用 Simple (簡單) 工作流程來新增套件版本,請準備更新的安裝型檔案,或新增安裝型檔案來支援更多平台和架構。然後,使用 Distributor 來上傳新的和更新的安裝型檔案和新增套件版本。Distributor 主控台中簡化的 Add version (新增版本) 工作流程會為您更新資訊清單檔案和相關的 SSM 文件。

新增套件版本 (簡單)

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Distributor

  3. 在 Distributor 首頁,選擇套件到您想新增其他版本的地方。

  4. Add version (新增版本) 頁面上,選擇 Simple (簡單)

  5. 對於 Version name (版本名稱),輸入版本名稱。新版本的版本名稱必須與舊版本名稱不同。版本名稱最多可包含 512 個字元,而且不得包含特殊字元。

  6. 對於 S3 bucket name (S3 儲存貯體名稱),從清單中選擇現有的 S3 儲存貯體。這可以與您存放舊版安裝型檔案使用的儲存貯體相同,但安裝型檔案名稱必須不同,來避免在儲存貯體中覆寫現有的安裝型檔案。

  7. 對於 S3 key prefix (S3 金鑰前綴),輸入安裝型資產存放所在的儲存貯體子資料夾。

  8. 對於 Upload software (上傳軟體) 中,瀏覽您想要連接到新版本的安裝型軟體檔案。系統不會將現有版本中的安裝型檔案自動複製到新版本,如果您希望任何相同的安裝型檔案成為新版本的一部分,您必須從舊版套件上傳任何安裝型檔案。您可以在單一動作中上傳多個軟體檔案。

  9. 對於 Target platform (目標平台),確認為每個安裝型檔案顯示的目標作業系統平台是否正確。如果顯示的作業系統不正確,請從下拉式清單中選擇正確的作業系統。

    Simple (簡單) 版本控制工作流程中,因為您每個安裝型檔案僅上傳一次,需要額外的步驟來以多個作業系統的單一檔案為目標。例如,如果您上傳名為 Logtool_v1.1.1.rpm 的安裝型軟體檔案,您必須在 Simple (簡單) 工作流程中變更一些預設值,來指示 Distributor 同時以 Amazon Linux 和 Ubuntu 作業系統的相同軟體為目標。您可以執行以下其中一項操作來解決這個限制。

    • 在開始前,改用 Advanced (進階) 版本控制工作流程來將每個安裝型檔案壓縮為 .zip 檔案,以及手動編寫資訊清單,讓系統能夠以多個作業系統平台或版本的安裝型檔案為目標。如需更多詳細資訊,請參閱 新增套件版本 (進階)

    • Simple (簡單) 工作流程中手動編輯資訊清單檔案,讓系統以多個作業系統平台或版本的 .zip 檔案為目標。如需如何進行此動作的詳細資訊,請參閱 步驟 2:建立 JSON 套件資訊清單中的步驟 4 結尾。

  10. 對於 Platform version (平台版本),請確認顯示的作業系統平台版本是 _any (後接萬用字元的主要發行版本 (7.*)),或正是您希望軟體套用的確切作業系統發行版本。如需指定平台版本的詳細資訊,請參閱 步驟 2:建立 JSON 套件資訊清單中的步驟 4。

  11. 對於 Architecture (架構),從下拉式清單中為每個安裝型檔案選擇正確的處理器架構。如需支援架構的詳細資訊,請參閱 支援的套件平台和架構

  12. (選用) 展開 Scripts (指令碼),並檢閱 Distributor 為安裝型軟體產生的安裝和解除安裝指令碼。

  13. 若要將更多安裝型軟體檔案新增至新版本,選擇 Add software (新增軟體)。否則,請進行下一個步驟。

  14. (選用) 展開 Manifest (資訊清單),並檢閱 Distributor 為安裝型軟體產生的 JSON 套件資訊清單。如果在您開始此程序後變更了與安裝型軟體相關的任何資訊,例如平台版本或目標平台,請選擇 Generate manifest (產生資訊清單) 以顯示更新的套件資訊清單。

    如果您想要以多個作業系統的軟體安裝型檔案為目標,您可以手動編輯資訊清單,如步驟 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 ManagerDistributor

  18. 在 Distributor 完成新套件版本的建立時,可在套件 Details (詳細資訊) 頁面的 Versions (版本) 標籤上,在可用套件版本的清單中檢視新版本。選擇版本來設定預設的套件版本,然後選擇 Set default version (設定預設版本)

    如果您不設定預設版本,則最新套件版本就是預設版本。

新增套件版本 (進階)

若要新增套件版本,請建立套件,然後透過將項目新增至已存在於較舊版本的 SSM 文件,來使用 Distributor 新增套件版本。若要節省時間,請更新較舊版本套件的資訊清單,變更資訊清單中 version 項目的值 (例如,從 Test_1.0Test_2.0),並儲存為新版本的資訊清單。您必須擁有更新的資訊清單,透過使用 Advanced (進階) 工作流程來新增新的套件版本。

新增套件版本 (進階)

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Distributor

  3. 在 Distributor 首頁,選擇您想將其他版本新增至其中的套件,然後選擇 Add version (新增版本)

  4. 對於 Version name (版本名稱),輸入您資訊清單檔案中 version 項目的確切值。

  5. 對於 S3 bucket name (S3 儲存貯體名稱),從清單中選擇現有的 S3 儲存貯體。這可以與您存放舊版安裝型檔案使用的儲存貯體相同,但安裝型檔案名稱必須不同,來避免在儲存貯體中覆寫現有的安裝型檔案。

  6. 對於 S3 key prefix (S3 金鑰前綴),輸入安裝型資產存放所在的儲存貯體子資料夾。

  7. 對於 Manifest (資訊清單),選擇 Extract from package (從套件中擷取) 來使用您透過 .zip 檔案上傳到 S3 儲存貯體的資訊清單。

    (選用) 如果您未將修訂的 JSON 資訊清單上傳到 .zip 檔存放所在的 Amazon 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。使用您在 步驟 3:將套件和資訊清單上傳至 Amazon S3 儲存貯體 中複製的 JSON 資訊清單 URL 取代 DOC-EXAMPLE-BUCKETS3-bucket-URL-of-package 是儲存整個套件的 Amazon S3 儲存貯體的 URL。使用資訊清單中的 version 值取代 version-name-from-updated-manifest。將 --document-version 參數設定為 $LATEST,讓與此套件版本相關聯的文件變成最新文件版本。

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

    以下是範例。

    aws ssm update-document \ --name ExamplePackage \ --content "https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/ExamplePackage/manifest.json" \ --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/ExamplePackage" \ --version-name 1.1.1 \ --document-version $LATEST
  2. 執行以下命令來驗證您的套件已更新,並顯示套件資訊清單。請用您的套件名稱取代 package_name,並可選擇用您更新的文件版本編號 (與套件版本不同) 取代 document_version。若此套件版本與最新文件版本相關,您可以將選用 $LATEST 參數的值指定為 --document-version

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

如需可以與 update-document 命令搭配使用之其他選項的相關資訊,請參閱《AWS CLI 命令參考》中 AWS Systems Manager 章節的 update-document