本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodeArtifact 与 nuget 或 dotnet CLI 一起使用
您可以使用nuget和之类的 CLI 工具dotnet来发布和使用来自的软件包 CodeArtifact。本文档提供有关配置 CLI 工具以及使用这些工具来发布或使用程序包的信息。
主题
配置 nuget 或 dotnet CLI
您可以使用 CodeArtifact NuGet 凭据提供商配置 nuget 或 dotnet CLI,也可以手动配置。 AWS CLI强烈建议 NuGet 使用凭据提供商进行配置,以简化设置和继续进行身份验证。
方法 1:使用 CodeArtifact NuGet 凭据提供者进行配置
CodeArtifact NuGet 凭证提供商使用 C NuGet LI 工具简化了身份验证和配置。 CodeArtifact CodeArtifact 身份验证令牌的有效期最长为 12 小时。为了避免在使用 nuget 或 dotnet CLI 时手动刷新令牌,凭证提供程序会在当前令牌到期之前定期提取新令牌。
重要
要使用凭证提供商,请确保从您的nuget.config文件中清除任何现有 AWS CodeArtifact 证书,这些凭证可能是手动添加的,或者 NuGet 之前通过运行配置aws codeartifact login来添加的。
安装和配置 CodeArtifact NuGet 凭据提供商
创建存储库并配置凭证提供程序后,您可以使用 nuget 或 dotnet CLI 工具来安装和发布程序包。有关更多信息,请参阅消费来自的 NuGet 包裹 CodeArtifact和将 NuGet 包发布到 CodeArtifact。
方法 2:使用 login 命令配置 nuget 或 dotnet
中的codeartifact login命令将存储库端点和授权令牌 AWS CLI 添加到您的 NuGet 配置文件中,使 nuget 或 dotnet 能够连接到您的存储库。 CodeArtifact 这将修改位于 Windows 和/ ~/.config/NuGet/NuGet.Config 或%appdata%\NuGet\NuGet.Config的用户级 NuGet 配置~/.nuget/NuGet/NuGet.Config。 Mac/Linux有关 NuGet 配置的更多信息,请参阅常用 NuGet 配置
使用登录命令配置 nuget 或 dotnet
-
如中所述 AWS CLI,配置您的 AWS 凭据以与一起使用入门 CodeArtifact。
-
确保 NuGet CLI 工具(
nuget或dotnet)已正确安装和配置。有关说明,请参阅 nuget或 dotnet 文档。 -
使用 CodeArtifact
login命令获取凭证以供使用 NuGet。注意
如果您要访问您拥有的域中的存储库,则无需包括
--domain-owner。有关更多信息,请参阅 Cross-account 域。
login 命令将会:
-
CodeArtifact 使用您的 AWS 证书获取授权令牌。
-
使用 NuGet 包源的新条目更新您的用户级 NuGet 配置。指向您的 CodeArtifact 存储库端点的源将被调用
。domain_name/repo_name
调用 login 后的默认授权期为 12 小时,且必须调用 login 来定期刷新令牌。有关使用 login 命令创建的授权令牌的更多信息,请参阅 使用登录命令创建的令牌。
创建存储库并配置身份验证后,可以使用 nuget、dotnet 或 msbuild CLI 客户端来安装和发布程序包。有关更多信息,请参阅消费来自的 NuGet 包裹 CodeArtifact和将 NuGet 包发布到 CodeArtifact。
方法 3:不使用 login 命令来配置 nuget 或 dotnet
要进行手动配置,必须将存储库端点和授权令牌添加到 NuGet 配置文件中,以使 nuget 或 dotnet 能够连接到您的存储库。 CodeArtifact
手动配置 nuget 或 dotnet 以连接到您的存储库。 CodeArtifact
-
使用
get-repository-endpointAWS CLI 命令确定您的 CodeArtifact 存储库终端节点。aws codeartifact get-repository-endpoint --domainmy_domain--domain-owner111122223333--repositorymy_repo--format nuget输出示例:
{ "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" } -
使用
get-authorization-tokenAWS CLI 命令从包管理器获取授权令牌以连接到您的存储库。aws codeartifact get-authorization-token --domainmy_domain输出示例:
{ "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 } -
通过附加
/v3/index.json到步骤 1get-repository-endpoint中返回的 URL 来创建完整的存储库端点 URL。 将 nuget 或 dotnet 配置为使用步骤 1 中的存储库端点和步骤 2 中的授权令牌。
注意
要让 nuget 或 dotnet 成功连接到存储库,源网址必须以结尾。
/v3/index.jsonCodeArtifact输出示例:
Package source with Name:domain_name/repo_nameadded successfully.注意
要使用双堆栈端点,请使用
codeartifact.端点。region.on.aws
消费来自的 NuGet 包裹 CodeArtifact
配置 NuGet 好后 CodeArtifact,您就可以使用存储 CodeArtifact 库或其上游存储库之一中的 NuGet 软件包。
要使用 CodeArtifact 存储库或其上游存储库中的软件包版本dotnet,请运行以下命令,将其packageName替换为要使用的包的名称,并在 NuGet 配置文件中packageSourceName替换为存储 CodeArtifact 库的源名称。nuget如果您使用该login命令来配置 NuGet 配置,则源名称为domain_name/repo_name。
注意
当请求软件包时, NuGet 客户端会缓存该软件包的哪个版本。由于存在这种行为,对于在所需版本变得可用之前请求的程序包,安装可能会失败。为避免此故障并成功安装现有的软件包,可以在安装之前使用nuget locals all --clear或清除 NuGet 缓存dotnet nuget locals all --clear,也可以通过提供选项或-NoCache选项来避免在install和restore命令期间使用缓存dotnet。nuget --no-cache
安装程序包的特定版本
有关更多信息,请参阅 Microsoft 文档中的使用 nuget.exe CLI 管理程序包
消费来自的 NuGet 包裹 NuGet.org
NuGet.org
将 NuGet 包发布到 CodeArtifact
配置 NuGet 完后 CodeArtifact,即可使用nuget或dotnet将包版本发布到 CodeArtifact 存储库。
要将软件包版本推送到 CodeArtifact 存储库,请运行以下命令,并在 NuGet 配置.nupkg文件中包含文件的完整路径和 CodeArtifact 存储库的源名称。如果您使用该login命令来配置 NuGet 配置,则源名称为domain_name/repo_name。
注意
如果您没有要发布的 NuGet 包,则可以创建包。有关更多信息,请参阅 Microsoft 文档中的 程序包创建工作流程
CodeArtifact NuGet 凭证提供者参考
CodeArtifact NuGet 凭据提供商使您可以轻松地在 CodeArtifact 存储库中进行配置和身份验证 NuGet 。
CodeArtifact NuGet 凭证提供者命令
本节包括 CodeArtifact NuGet 凭证提供者的命令列表。这些命令必须加上前缀 dotnet codeartifact-creds,如以下示例所示。
dotnet codeartifact-credscommand
configure set profile:将凭证提供者配置为使用提供的 AWS 配置文件。profileconfigure unset profile:删除已配置的配置文件(如果已设置)。install:将凭证提供程序复制到plugins文件夹。install --profile:将凭据提供者复制到该profileplugins文件夹,并将其配置为使用提供的 AWS 配置文件。uninstall:卸载凭证提供程序。这不会删除对配置文件的更改。uninstall --delete-configuration:卸载凭证提供程序并删除对配置文件的所有更改。
CodeArtifact NuGet 凭证提供者日志
要为 CodeArtifact NuGet 凭据提供者启用日志记录,必须在环境中设置日志文件。凭证提供程序日志包含有用的调试信息,例如:
-
用于建立连接的 AWS 配置文件
-
任何身份验证错误
-
如果提供的端点不是 CodeArtifact URL
设置 CodeArtifact NuGet 凭据提供者日志文件
export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file
设置日志文件后,任何 codeartifact-creds 命令都会将其日志输出附加到该文件的内容中。
CodeArtifact NuGet 凭证提供者版本
下表包含 CodeArtifact NuGet 凭据提供商的版本历史记录信息和下载链接。