發佈和使用一般套件 - CodeArtifact

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

發佈和使用一般套件

若要發佈一般套件版本及其相關資產,請使用publish-package-version指令。您可以使用list-package-version-asset命令列出通用軟件包的資產,然後使用get-package-version-asset. 下列主題包含使用這些指令發行一般套件或下載一般套件資產的指 step-by-step 示。

發佈一般套件

通用套件包含套件名稱、命名空間、版本,以及一或多個資產 (或檔案)。本主題示範如何發佈名為的套件my-package,名稱空間my-ns、版本1.0.0,以及包含一個名為的資產asset.tar.gz

先決條件:

若要發佈一般套件
  1. 使用下列指令為您要上傳至套件版本的每個檔案產生 SHA256 雜湊,並將該值置於環境變數中。此值用作完整性檢查,以驗證檔案內容在最初傳送之後是否未變更。

    Linux
    export ASSET_SHA256=$(sha256sum asset.tar.gz | awk '{print $1;}')
    macOS
    export ASSET_SHA256=$(shasum -a 256 asset.tar.gz | awk '{print $1;}')
    Windows
    for /f "tokens=*" %G IN ('certUtil -hashfile asset.tar.gz SHA256 ^| findstr /v "hash"') DO SET "ASSET_SHA256=%G"
  2. 呼叫publish-package-version以上傳資產並建立新的套件版本。

    注意

    如果您的套件包含多個資產,您可以針對每個要上傳的資產呼叫一publish-package-version次。除了上傳最終資產時publish-package-version,請包含每次呼叫的--unfinished引數。省略--unfinished會將套件版本的狀態設定為Published,並防止其他資產上傳至該套件。

    或者,每--unfinished次呼叫都包含publish-package-version,然後Published使用update-package-versions-status指令將套件版本的狀態設定為。

    Linux/macOS
    aws codeartifact publish-package-version --domain my_domain --repository my_repo \ --format generic --namespace my-ns --package my-package --package-version 1.0.0 \ --asset-content asset.tar.gz --asset-name asset.tar.gz \ --asset-sha256 $ASSET_SHA256
    Windows
    aws codeartifact publish-package-version --domain my_domain --repository my_repo ^ --format generic --namespace my-ns --package my-package --package-version 1.0.0 ^ --asset-content asset.tar.gz --asset-name asset.tar.gz ^ --asset-sha256 %ASSET_SHA256%

    以下將顯示輸出。

    { "format": "generic", "namespace": "my-ns", "package": "my-package", "version": "1.0.0", "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published", "asset": { "name": "asset.tar.gz", "size": 11, "hashes": { "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5", "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1", "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256", "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512" } } }

列出一般套件資產

若要列出一般套件中包含的資源,請使用list-package-version-assets指令。如需詳細資訊,請參閱 列出套件版本資產

下面的例子列出了包的版本1.0.0的資產my-package

若要列出套件版本資產
  • 調用list-package-version-assets以列出通用包中包含的資產。

    Linux/macOS
    aws codeartifact list-package-version-assets --domain my_domain \ --repository my_repo --format generic --namespace my-ns \ --package my-package --package-version 1.0.0
    Windows
    aws codeartifact list-package-version-assets --domain my_domain ^ --repository my_repo --format generic --namespace my-ns ^ --package my-package --package-version 1.0.0

    以下將顯示輸出。

    { "assets": [ { "name": "asset.tar.gz", "size": 11, "hashes": { "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5", "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1", "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256", "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512" } } ], "package": "my-package", "format": "generic", "namespace": "my-ns", "version": "1.0.0", "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC" }

下載一般套件資產

若要從一般套件下載資源,請使用get-package-version-asset指令。如需詳細資訊,請參閱 下載套件版本資產

下列範例會將資產asset.tar.gz從套my-package1.0.0的版本下載到目前的工作目錄中,並且名為asset.tar.gz

下載套件版本資產
  • 調get-package-version-asset用從通用包下載資產。

    Linux/macOS
    aws codeartifact get-package-version-asset --domain my_domain \ --repository my_repo --format generic --namespace my-ns --package my-package \ --package-version 1.0.0 --asset asset.tar.gz \ asset.tar.gz
    Windows
    aws codeartifact get-package-version-asset --domain my_domain ^ --repository my_repo --format generic --namespace my-ns --package my-package ^ --package-version 1.0.0 --asset asset.tar.gz ^ asset.tar.gz

    以下將顯示輸出。

    { "assetName": "asset.tar.gz", "packageVersion": "1.0.0", "packageVersionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC" }