【问题标题】:Continuous Integration - Deploying NuGet to Visual Studio Online Feed from TeamCity持续集成 - 从 TeamCity 将 NuGet 部署到 Visual Studio Online Feed
【发布时间】:2017-08-28 08:58:38
【问题描述】:

我正在运行 TeamCity 10.0.5,作为我们持续集成构建的一部分,我想将几​​个 Dll 打包在一起并将它们发布到 Visual Studio Online 托管的 NuGet 源...

发布步骤当前未能通过 Nuget 提要进行身份验证,构建日志中的此摘录证明了这一点...

步骤 4/7:发布 BL、DAL 和实体 nuget (NuGet Publish) (4s) [13:31:30][步骤 4/7] 推送:发布包 OutputPackages\KeyedIn.Project.BLandDAL.1.0.0.nupkg (4s) [13:31:30][推送] NuGet 命令:C:\TeamCity\buildAgent\plugins\nuget-agent\bin\JetBrains.TeamCity.NuGetRunner.exe C:\TeamCity\buildAgent\tools\NuGet.CommandLine.4.0。 0\tools\NuGet.exe 推送 C:\TeamCity\buildAgent\work\dc03049e2a33b930\OutputPackages\KeyedIn.Project.BLandDAL.1.0.0.nupkg %%teamcity_nuget_api_key_1491222690775%% - 来源 https://keyedincleckheaton.pkgs.visualstudio.com /_packaging/NuGet_Feed/nuget/v3/index.json [13:31:30][推送]开始:C:\TeamCity\buildAgent\temp\agentTmp\custom_script1071157934831391257.cmd [13:31:30][push] 在目录中:C:\TeamCity\buildAgent\work\dc03049e2a33b930\OutputPackages [13:31:31][推送] JetBrains TeamCity NuGet Runner 8.0.42677.9 [13:31:31][push] 从路径注册附加扩展:C:\TeamCity\buildAgent\plugins\nuget-agent\bin\plugins-2.0 [13:31:31][push] 从 C:\TeamCity\buildAgent\tools\NuGet.CommandLine.4.0.0\tools\NuGet.exe 启动 NuGet.exe 4.0.0.2283 [13:31:32][push] 警告:无法加载 C:\TeamCity\buildAgent\plugins\nuget-agent\bin\plugins-2.0\JetBrains.TeamCity.NuGet.ExtendedCommands.2.0.dll [13:31:32][push] 无法从程序集“NuGet,版本=4.0.0.2283,文化=中性,PublicKeyToken=31bf3856ad364e35”加载类型“NuGet.Commands.Command”。 [13:31:32][推] [13:31:34][push] 请提供以下凭据:https://keyedincleckheaton.pkgs.visualstudio.com/_packaging/NuGet_Feed/nuget/v3/index.json [13:31:34][push] 无法加载源 https://keyedincleckheaton.pkgs.visualstudio.com/_packaging/NuGet_Feed/nuget/v3/index.json 的服务索引。 [13:31:34][push] 响应状态码不表示成功:401(未授权)。 [13:31:34][推]用户名: [13:31:34][push] 进程以代码 1 退出 [13:31:34][步骤 4/7] 步骤发布 BL、DAL 和实体 nuget(NuGet 发布)失败

我正在尝试确定我做错了什么 - 日志表明没有提供用户名,但我在屏幕上看不到任何地方可以输入:

在线阅读似乎身份验证问题很常见 - 任何人都可以提供任何指导吗?

谢谢

【问题讨论】:

    标签: continuous-integration nuget teamcity azure-devops


    【解决方案1】:

    您需要在 Nuget 源文件中添加相应的带有用户名和密码的 VSTS 提要。

    1. 创建个人访问令牌
    2. 将提要添加到源 (nuget.exe sources add -name {your feed name} -source {your feed URL} -username {anything} -password {your PAT})
    3. 在 TeamCity 中运行构建

    之后,您可以在 %APPDATA%\NuGet\NuGet.config 文件中查看相关的 feed 源。

    注意:API 密钥可以是任何你想要的非空字符串,例如 key、vsts。

    【讨论】:

    • 谢谢您...我度过了有趣的一天-您的评论帮助很大,同时意识到构建代理正在本地系统帐户上运行...为帮助干杯。
    【解决方案2】:

    使用 VSTS NuGet 源进行身份验证也可以通过添加 NuGet 源凭据构建功能并在 NuGet 步骤中添加包源来完成。还要使用 PAT 来构建此构建功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-05
      • 2012-12-01
      • 2014-08-13
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多