【问题标题】:Nuget Restore of Azure Devops Artifacts from within gulpfile从 gulpfile 中 Nuget 还原 Azure Devops 工件
【发布时间】:2020-02-13 15:47:26
【问题描述】:

我正在尝试将 NuGet 包从 Azure Devops 工件还原到我的本地安装,作为 gulpfile 脚本的一部分。

但是,我得到了一个

响应状态码不表示成功:401(未授权)。

与:

无法加载源https://my-visualstudio-dot-com-npm-feed-here的服务索引

我已尝试创建一个包含以下内容的 nugetauth.npmrc 文件:

registry=https://my-visualstudio-dot-com-npm-feed-here
always-auth=true

然后我运行:

vsts-npm-auth -config nugetauth.npmrc

生成我的新 .npmrc 文件,然后将其放在与我的 package.json 和 gulpfile.js 文件相同的目录中。

当我随后从任务运行器运行我的“Nuget-restore”任务时(使用“gulp-nuget-restore”:“^0.7.0”),它无法对我的提要进行身份验证。我错过了什么?

【问题讨论】:

    标签: npm gulp nuget azure-artifacts .npmrc


    【解决方案1】:

    如果要从 azure devops 工件安装 NuGet 包,应将 nuget.config 文件添加到项目中,与 .csproj 或 .sln 文件位于同一文件夹中。请查看this document 了解更多信息。然后你可以使用 nuget restore task

    如果是npm package,你应该使用 npm install 任务。

    如果您使用的是来自 azure devops 管道的提要。您还需要检查您的项目构建服务帐户是否具有此提要的阅读权限。请检查以下步骤。

    点击Feed Setting(齿轮图标)-->进入权限-->检查组{projectName}构建服务(OrganizationName)是否有权限(点击添加组添加你的项目如果不存在,则构建服务帐户)。

    【讨论】:

      【解决方案2】:

      请参考 ADO 中的“npm”任务 - https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/npm?view=azure-devops 来安装和发布 npm 包。希望这会有所帮助

      【讨论】:

        【解决方案3】:

        我们最终找到了两种解决这个问题的方法。

        其中一种方法是使用gulp-nuget 任务来下载特定版本的 Nuget.exe (5.0.2),这将允许我们随后运行还原(因为我相信该版本的 Nuget 使用凭据提供程序默认)。

        另一个(我们最终选择)是添加

        overrideParams.push('/p:NuGetInteractive=true')
        

        到 msbuild 任务。如果未通过身份验证,这将提示用户登录。

        【讨论】:

          猜你喜欢
          • 2020-08-06
          • 1970-01-01
          • 2020-01-09
          • 2020-09-28
          • 1970-01-01
          • 1970-01-01
          • 2020-10-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多