【发布时间】:2020-07-29 17:01:57
【问题描述】:
有没有一种好方法可以为 Devops 创建身份验证机制,以便能够访问工件 NuGet 提要?我想为我的团队创建一个基础镜像,允许他们从我们的 Azure 容器注册表中提取一个可以访问我们的 devops nuget 提要的镜像。理想情况下,人们不必在每个从主机构建系统中获取 PAT 的项目中都拥有相同的 dockerfile 代码。这也可以让我们更好地进行 CICD。
我目前的解决方案
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
ARG IT_PAT
ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS "{\"endpointCredentials\": [{\"endpoint\": \"https://pkgs.dev.azure.com/MNPIT/_packaging/MNP/nuget/v3/index.json\",\"username\": \"build\",\"password\": \"${IT_PAT}\"}]}"
RUN mkdir -p $HOME/.nuget/plugins
WORKDIR /deps
# Downloads and installs the NuGet credential plugin so we can login to the private NuGet feed
RUN curl https://github.com/microsoft/artifacts-credprovider/releases/download/v0.1.24/Microsoft.NetCore2.NuGet.CredentialProvider.tar.gz -L -o creds.tar.gz -s
RUN tar -xzf creds.tar.gz
RUN cp -r plugins/netcore/ ~/.nuget/plugins
- 每个构建文件中的库存代码
- 每个用户都使用 PAT 配置其环境变量
- 在每次构建时传递 PAT
- 不适用于自动构建系统
【问题讨论】:
-
嗨,您有机会查看以下解决方法吗?效果如何?
-
还没有,抱歉。转到另一个问题,但我会在下周尝试回到这个问题
标签: azure docker azure-devops nuget dockerfile