Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Artifacts 使开发人员能够无缝地将包发布到源,并私下或公开共享它们,具体取决于源的可见性设置。 本指南将指导你完成设置项目并使用 Azure Artifacts 源进行身份验证。
先决条件
产品 | 要求 |
---|---|
Azure DevOps | - 一个 Azure DevOps 组织。 - Azure DevOps 项目。 - Azure Artifacts 源。 - 下载并安装 Azure Artifacts 凭据提供程序。 - 下载并安装 .NET Core SDK。 |
连接到源
选择项目,然后从下拉菜单中选择源。
选择连接到源,然后从 NuGet 部分选择 dotnet。
将 nuget.config 文件添加到项目中。 将其与 .csproj 或 .sln 文件放在同一文件夹中,然后将 Project setup (项目设置 ) 部分中提供的代码片段粘贴到其中。 您的 nuget.config 文件应类似于以下内容:
项目作用域的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
组织作用域的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
登录到 Azure DevOps 集合,然后导航到项目。
选择“ 项目”,然后从下拉菜单中选择源。
选择 “连接到源”,然后从左侧选择“ dotnet ”。
将 nuget.config 文件添加到项目中。 将其与 .csproj 或 .sln 文件放在同一文件夹中,然后将 Project setup (项目设置 ) 部分中提供的代码片段粘贴到其中。
使用服务主体进行身份验证
可以使用服务主体对 Azure Artifacts 源进行身份验证。 为此,请设置 ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS 环境变量,如下所示。
此变量应定义源 URL、服务主体的应用程序(客户端)ID 以及证书使用者名称或证书文件的路径(只需要这两者中的一个)。
$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
"endpointCredentials": [
{
"endpoint": "<FEED_URL>",
"clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
"clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
"clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
}
]
}
'@