使用 Docker 的 artifacts-credprovider 和 VSS_NUGET_EXTERNAL_FEED_ENDPOINTS

2023-12-24

也许您可以帮助我使用私人 NuGet feed 进行身份验证,我已经花了一天时间研究不同的解决方案并注意到这个仓库 https://github.com/microsoft/artifacts-credprovider,但我仍在努力完成它。

我使用下面具有不同变体的 Dockerfile,但每次都未经授权

FROM microsoft/dotnet:2.2-sdk AS build
ARG VSS_NUGET_EXTERNAL_FEED_ENDPOINTS
WORKDIR /api

#ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS={"endpointCredentials":[{"endpoint":"https://name.pkgs.visualstudio.com/_packaging/Feed/nuget/v3/index.json","username":"PAT","password":"PAT"}]}


# Auth with private feed
RUN wget https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh \
   && chmod +x installcredprovider.sh \
   && ./installcredprovider.sh


# Copy csproj and restore as distinct layers
COPY ["App.csproj", "./"]
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS runtime
WORKDIR /api
COPY --from=build /api/out ./
EXPOSE 4444
ENTRYPOINT ["dotnet", "App.dll"]

我尝试使用 ARG 和 ENV 设置 VSS_NUGET_EXTERNAL_FEED_ENDPOINTS,但每次都会收到此错误:

error NU1101: Unable to find package Package.Name. No packages exist with this id in source(s): nuget.org

目前我们的项目中没有专用的NuGet.Config,也许是这个问题的情况? 我需要创建它并将此私人存储库添加到其中吗?

谢谢。


Nuget.config不是必需的,但是在恢复包时需要指定源,因为只有默认源(https://api.nuget.org/v3/index.json https://api.nuget.org/v3/index.json)

Dockerfile(我修改了环境变量):

FROM microsoft/dotnet:2.2-sdk AS build
#ARG VSS_NUGET_EXTERNAL_FEED_ENDPOINTS
WORKDIR /api

ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS '{"endpointCredentials":[{"endpoint":"https://pkgs.dev.azure.com/org/_packaging/feedname/nuget/v3/index.json","username":"name","password":"your personal access token"}]}'


# Auth with private feed
RUN wget https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh \
   && chmod +x installcredprovider.sh \
   && ./installcredprovider.sh


# Copy csproj and restore as distinct layers
COPY ["App.csproj", "./"]
RUN dotnet restore -s "https://pkgs.dev.azure.com/org/_packaging/feedname/nuget/v3/index.json" -s "https://api.nuget.org/v3/index.json"

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS runtime
WORKDIR /api
COPY --from=build /api/out ./
EXPOSE 4444
ENTRYPOINT ["dotnet", "App.dll"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Docker 的 artifacts-credprovider 和 VSS_NUGET_EXTERNAL_FEED_ENDPOINTS 的相关文章

随机推荐

  • 将包含 NSString 的 NSArray 转换为 NSString

    所以 我有一个包含 NSString 的 NSArray 如何将 NSArray 转换为 NSString 用换行符分隔它们 Use 通过字符串连接的组件 https developer apple com library mac docu
  • 使用 R 进行多线程?

    正在阅读R 项目 http www r project org 网站上 有一些 不清楚的 关于 R 多线程的参考 但尚不清楚基础产品和CRAN http cran cnr berkeley edu 库已编译 革命分析 http www re
  • Bootstrap:如何在一行上创建一系列 div 隐藏溢出的 div

    我有一个使用 bootstrap 构建的网站 我想使用 jquery dragscroll 插件创建一个带有可滑动标题的表格 但保留内置的流体网格 bootstrap 所以我想创建表的标题 并且我使用以下 HTML div class ro
  • 发送ajax请求而不等待应答

    我想发出一个ajax请求来发送一些信息 并在发送后立即 如果我收到错误 成功并不重要 进行重定向 无需等待服务器响应 我想知道我是否做类似的事情 ajax url myurl timeout 500 success function doc
  • 未找到名称为“ARTShape”的视图的组件

    只是试图生成一个在 React Native 中使用 ART 对象的 hello world 我得到了上述异常 就好像库的一部分没有链接一样 我刚刚添加了以下代码 import AppRegistry StyleSheet Text Vie
  • 为 QHeaderView 提供的类实现paintSection

    protected virtual void paintSection QPainter painter const QRect rect int logicalIndex const QHeaderView paintSection pa
  • 针对页面修改黑客的 Rails 集成测试?

    我正在使用 Capybara 1 1 2 Rails 3 1 3 rspec rails 2 9 0 和 Ruby 1 9 3p0 假设一个应用程序具有标准用户和 account admin 用户 标准用户可以创建另一个标准用户 但标准用户
  • Angular2 RC5 默认 http 标头

    在 RC4 中可以扩展 Http 或 BaseRequestOptions 并向所有 http 请求添加默认标头 像这儿如何在 Angular2 中设置默认 HTTP 标头 https stackoverflow com questions
  • Java try-catch 模式中的 try-finally

    每当我需要在 Java 中获取资源 然后保证资源被释放时 可能会抛出异常 我会使用以下模式 try Resource resource null try resource new Resource Use resource finally
  • 如何在Windows Azure云服务器上转发端口

    您好 我刚刚尝试了 Windows Azure 云服务器 下载并运行 apache 它可以在本地主机上运行 但无法从互联网访问 我应该端口转发做一些特别的事情才能使 cloudapp net 像 Web 服务器一样工作 我缺少什么 你究竟尝
  • 使用 Javascript 从 Google Analytics API 获取综合浏览量

    我在使用 JavaScript 从 Google Analytics API 获取数据时遇到问题 我似乎无法获取任何东西 但可以说它是一些基本的东西 比如页面浏览量 我在用分析 js https developers google com
  • 从轨道中的整数或小数中去除逗号

    整数或小数是否有等效的 gsub gsub 应该使用整数吗 基本上我只是想将十进制输入到 ruby 形式以及用户能够使用逗号的内容 例如 我希望用户能够输入 1 000 99 我尝试过使用 before save strip commas
  • SQL WHERE 条件不等于?

    是否可以否定 where 子句 e g DELETE FROM table WHERE id 2 你可以这样做 DELETE FROM table WHERE id NOT IN 2 OR DELETE FROM table WHERE i
  • 调整 Eigen::Ref 大小的解决方法

    我想使用 Eigen Ref 来使用 Eigen Matrix 参数来实现非模板函数 我的问题是 在这些函数中 我可能必须调整 Eigen Ref 引用的矩阵的大小 我知道 一般而言 不应调整 Eigen Ref 的大小 因为它可以映射到表
  • 如何水平对齐多个图像(连续)?

    如何水平对齐多个图像 它们不必适合宽度屏幕 相反 我想让它们超过后者的宽度 如果这有意义的话 我检查了类似问题的很多答案 但找不到任何可以解决我的问题的答案 Html div img src Content Images Personal
  • Crystal Report:“文件对于附件来说太大”错误

    我是水晶报表服务器的新手 我在这里解释错误的详细信息 我正在使用 SAP Business Objects CMC 为我的应用程序生成报告 下面是图像中的版本详细信息 当我尝试生成文件大小超过 1MB 的报告文件时 它会抛出以下错误 Err
  • 如何在 Facebook Marketing API 上检查营销活动的交付状态

    我正在用 Python 做一个关于这个的小应用程序 我使用的是 effective status 字段 但它仅显示它是否已暂停 我想检查活动是否正在运行 Thanks effective status 为您提供此活动的有效状态 对于 Cam
  • 在Python中创建一个螺旋数组?

    我和我的伙伴试图用 python 创建一个有趣的游戏 其中输入数组的元素以螺旋方式访问 我尝试了几种方法 如下所示 source https stackoverflow com a 398302 5717589 def spiral X Y
  • 通过 eclipse 插件访问项目构建路径

    我需要以编程方式检查项目的构建路径是否已包含指定的库 这是一个快速修复建议 以了解这是否已经 修复 并且不会成为问题 我可以访问当前的IInvocationContext 因此 在某些拐角处 到相应的IProject object 如何检查
  • 使用 Docker 的 artifacts-credprovider 和 VSS_NUGET_EXTERNAL_FEED_ENDPOINTS

    也许您可以帮助我使用私人 NuGet feed 进行身份验证 我已经花了一天时间研究不同的解决方案并注意到这个仓库 https github com microsoft artifacts credprovider 但我仍在努力完成它 我使