建立 儲存庫 - CodeArtifact

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

建立 儲存庫

由於中的所有套件 CodeArtifact 都儲存在儲存中,因此若要使用 CodeArtifact,您必須建立一個套件。您可以使用 CodeArtifact 主控台 AWS Command Line Interface (AWS CLI) 或建立存放庫 AWS CloudFormation。每個儲存庫都與您建立時使用的 AWS 帳戶相關聯。您可以有多個存儲庫,並在中創建和分組它們。當您建立存放庫時,它不會包含任何套件。存儲庫是 polyglot,這意味著單個存儲庫可以包含任何受支持類型的軟件包。

如需 CodeArtifact 服務限制的相關資訊,例如單一網域中允許的儲存庫數目上限,請參閱配額 AWS CodeArtifact。如果您達到允許存儲庫的最大數量,則可以刪除存儲庫以騰出空間。

一個存儲庫可以有一個或多個與其相關聯的 CodeArtifact 存儲庫作為上游存儲庫。這可讓套件管理員用戶端使用單一URL端點存取多個儲存庫中包含的套件。如需詳細資訊,請參閱 使用中的上游存儲庫 CodeArtifact

如需使用管理 CodeArtifact 儲存庫的詳細資訊 CloudFormation,請參閱建立 CodeArtifact 資源 AWS CloudFormation

注意

建立存放庫之後,您無法變更其名稱、關聯 AWS 帳戶或網域。

創建一個存儲庫(控制台)

  1. https://console.aws.amazon.com/codesuite/程式碼工件/首頁開啟 AWS CodeArtifact 主控台。

  2. 在瀏覽窗格中,選擇 [儲存庫],然後選擇 [建立存放庫]。

  3. 存放庫名稱中,輸入存放庫的名稱。

  4. (選擇性) 在存放庫說明中,輸入存放庫的選擇性說明。

  5. (選擇性) 在「發佈上游儲存庫」中,新增將儲存庫連接至套件授權單位的中繼儲存庫,例如 Maven Central 或 npmjs.com。

  6. 選擇下一步

  7. AWS帳戶中,如果您已登入擁有網域的帳戶,請選擇 [這個AWS帳戶]。如果其他AWS帳戶擁有網域,請選擇 [不同AWS帳戶]。

  8. 在「網域」中,選擇要在其中建立存放庫的網域。

    如果帳戶中沒有網域,您必須建立網域。在「網域名稱」中輸入新網域的名稱

    展開 Additional configuration (其他組態)

    您必須使用 AWS KMS key (KMS金鑰) 來加密網域中的所有資產。您可以使用您管理的 AWS 受管金鑰 或KMS金鑰:

    重要

    CodeArtifact 僅支持對稱KMS密鑰。您無法使用非對稱KMS金鑰來加密 CodeArtifact 網域。如需判斷KMS金鑰是對稱或非對稱金鑰的說明,請參閱識別對稱和非對稱KMS金鑰。

    • 如果您要使用預設值,請選擇AWS受管理的金鑰 AWS 受管金鑰。

    • 如果您要使用您管理的金鑰,請選擇「客戶管理KMS金鑰」。若要使用您管理的KMS金鑰,請在客戶管理的金鑰ARN中搜尋並選擇KMS金鑰。

    如需詳細資訊,請參閱AWS Key Management Service 開發人員指南中的AWS 受管金鑰客戶管理的金鑰

  9. 選擇下一步

  10. 在「檢閱並建立」中,檢閱 CodeArtifact 正在為您建立的內容。

    • Package 流程會顯示網域和儲存庫的連線方式。

    • 第 1 步:創建存儲庫顯示有關存儲庫和將創建的可選上游存儲庫的詳細信息。

    • 步驟 2:選擇域顯示有關的詳細信息my_domain

    準備就緒後,請選擇 [建立儲存庫]。

建立儲存庫 (AWS CLI)

使用指create-repository令在您的網域中建立儲存庫。

aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo --description "My new repository"

輸出範例:

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:region-id:111122223333:repository/my_domain/my_repo", "description": "My new repository", "upstreams": "[]", "externalConnections"" "[]" } }

新的儲存庫不包含任何套件。建立儲存庫時,每個儲存庫都會與您驗證的 AWS 帳戶相關聯。

使用標籤建立儲存庫

若要使用標籤建立儲存庫,請將--tags參數新增至您的create-domain指令。

aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo --tags key=k1,value=v1 key=k2,value=v2

使用上游存儲庫創建一個存儲庫

您可以在建立存放庫時指定一或多個上游存放庫。

aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo \ --upstreams repositoryName=my-upstream-repo --repository-description "My new repository"

輸出範例:

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:region-id:111122223333:repository/my_domain/my_repo", "description": "My new repository", "upstreams": [ { "repositoryName": "my-upstream-repo" } ], "externalConnections"" "[]" } }
注意

若要使用上游建立存放庫,您必須擁有上游存放庫上AssociateWithDownstreamRepository動作的權限。

若要在建立儲存庫之後將上游新增至儲存庫,請參閱添加或刪除上游存儲庫(控制台)新增或移除上游儲存庫 (AWS CLI)