本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodeArtifact 与 nuget 或 dotnet 一起使用 CLI
您可以使用nuget
和之类的CLI工具dotnet
来发布和使用来自的软件包 CodeArtifact。本文档提供有关配置CLI工具以及使用它们发布或使用软件包的信息。
主题
配置 nuget 或 dotnet CLI
您可以使用 CodeArtifact NuGet 凭据提供程序、或手动配置 nug CLI et 或 dotnet。 AWS CLI强烈建议 NuGet 使用凭据提供程序进行配置,以简化设置并持续进行身份验证。
方法 1:使用 CodeArtifact NuGet 凭据提供程序进行配置
CodeArtifact NuGet 凭据提供程序简化了 CodeArtifact 使用 NuGet CLI工具的身份验证和配置。 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
或 ~/.nuget/NuGet/NuGet.Config
Mac/Linux %appdata%\NuGet\NuGet.Config
的用户级 NuGet 配置。有关 NuGet 配置的更多信息,请参阅常用 NuGet 配置
使用 login
命令配置 nuget 或 dotnet
-
配置您的 AWS 凭证以便与一起使用 AWS CLI,如中所述开始使用 CodeArtifact。
-
确保 NuGet CLI工具(
nuget
或dotnet
)已正确安装和配置。有关说明,请参阅 nuget或 dotnet 文档。 -
使用 CodeArtifact
login
命令获取用于的凭据 NuGet。注意
如果您要访问您拥有的域中的存储库,则无需包括
--domain-owner
。有关更多信息,请参阅 跨账户域。
login 命令将会:
-
CodeArtifact 使用您的 AWS 凭证获取授权令牌。
-
使用 NuGet 包源的新条目更新您的用户级 NuGet 配置。指向您的 CodeArtifact 存储库端点的源将被调用
。domain_name/repo_name
调用 login
后的默认授权期为 12 小时,且必须调用 login
来定期刷新令牌。有关使用 login
命令创建的授权令牌的更多信息,请参阅 使用 login 命令创建的令牌。
创建存储库并配置身份验证后,可以使用nuget
dotnet
、或msbuild
CLI客户端来安装和发布软件包。有关更多信息,请参阅使用来自的 NuGet 包裹 CodeArtifact 和将 NuGet 包发布到 CodeArtifact。
方法 3:不使用 login 命令来配置 nuget 或 dotnet
要进行手动配置,您必须在 NuGet 配置文件中添加存储库端点和授权令牌,才能让 nuget 或 dotnet 连接到您的存储库。 CodeArtifact
手动配置 nuget 或 dotnet 以连接到您的存储库。 CodeArtifact
-
使用
get-repository-endpoint
AWS CLI 命令确定您的 CodeArtifact 存储库终端节点。aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format nuget输出示例:
{ "repositoryEndpoint": "https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/nuget/my_repo
/" } -
使用命令从软件包管理器获取用于连接到存储库的授权
get-authorization-token
AWS CLI 令牌。aws codeartifact get-authorization-token --domain
my_domain
输出示例:
{ "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
-
URL通过附加
/v3/index.json
到步骤 3get-repository-endpoint
中URL返回的,创建完整的存储库端点。 将 nuget 或 dotnet 配置为使用步骤 1 中的存储库端点和步骤 2 中的授权令牌。
注意
源代码URL必须以 nuget 或 dotnet 结尾才能成功连接到存储库。
/v3/index.json
CodeArtifact输出示例:
Package source with Name:
domain_name/repo_name
added successfully.注意
要使用双堆栈端点,请使用该
codeartifact.
端点。region
.on.aws
使用来自的 NuGet 包裹 CodeArtifact
配置 NuGet 完毕后 CodeArtifact,即可使用存储在存储 CodeArtifact 库或其上游存储库中的 NuGet 软件包。
要使用或使用 CodeArtifact 存储库或其上游存储库中的软件包版本dotnet
,请运行以下命令替换 nuget
packageName
上面写上你要消费的包裹的名字以及 packageSourceName
在 NuGet 配置文件中使用存储 CodeArtifact 库的源名称。如果您使用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 文档CLI中的使用 nuget.exe
使用 NuGet .org 的 NuGet 包裹
您可以通过 CodeArtifact 存储库使用 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-creds
command
configure set profile
:将凭证提供者配置为使用提供的 AWS 配置文件。profile
configure unset profile
:删除已配置的配置文件(如果已设置)。install
:将凭证提供程序复制到plugins
文件夹。install --profile
:将凭证提供者复制到该profile
plugins
文件夹,并将其配置为使用提供的 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 凭据提供者的版本历史记录信息和下载链接。