好像apparent that you can save some time doing .NET Core builds通过设置环境变量 DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
.我发现 CentOS 7 和 Debian Jessie Linux 发行版并非如此。
我有一个 Jenkins slave Docker 镜像,Jenkins 用来构建 .NET Core 服务,我的镜像标签是 jenkins.slave.dotnet.image
.
Jenkins Docker 插件,使用 jenkins.slave.dotnet.image
在触发构建时启动从属容器。 Jenkins Docker 插件可以访问 Docker 主机,其中 jenkins.slave.dotnet.image
居住。
在我的 jenkins.slave.dotnet.image
的 Dockerfile 中我像这样设置环境变量:
ENV NUGET_XMLDOC_MODE skip
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE true
一切正常,除了
dotnet
忽略了那些环境变量命令,请参阅 .NET Core 服务的 Jenkins 构建的输出,如果环境变量为 DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
,您不应在图像中看到带圆圈的文本。正在由 dotnet
检查命令:连接 (
docker exec -it jenkins.slave.dotnet.container bash
) 到使用 jenkins.slave.dotnet.image
的容器您可以看到 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 已正确设置为“true”:dotnet --info 的输出:
这是我的 Jenkins Slave Docker 镜像(
jenkins.slave.dotnet.image
)的 Dockerfile,我的 Jenkins 主运行容器来执行 .NET Core 构建( 这是 dotnet publish -c Debug -v m
在 中执行的环境):FROM tsl.devops.jenkins.slave.basic.docker.image
MAINTAINER Brian Ogden
#############################################
# .NET Core SDK
#############################################
RUN yum install -y \
libunwind \
libicu
RUN curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=848821
RUN mkdir -p /opt/dotnet && tar zxf dotnet.tar.gz -C /opt/dotnet
RUN ln -s /opt/dotnet/dotnet /usr/local/bin
#add Trade Service Nuget Server
RUN mkdir -p /home/jenkins/.nuget/NuGet
COPY /files/NuGet.Config /home/jenkins/.nuget/NuGet/NuGet.Config
RUN chown -R jenkins /home/jenkins/.nuget
RUN chgrp -R jenkins /home/jenkins/.nuget
RUN chmod 600 /home/jenkins/.nuget/NuGet/NuGet.Config
RUN chmod 700 /home/jenkins/.nuget/NuGet
#speed up dotnet core builds
ENV NUGET_XMLDOC_MODE skip
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE true
#############################################
以下是我刚刚在上面分享的 Jenkins Slave Docker 环境中构建的 .NET Core 微服务构建工件的示例:
FROM tsl.devops.dotnetcore.base.image
MAINTAINER Brian Ogden
#############################################
# .NET Service setup
#############################################
ARG ASPNETCORE_ENVIRONMENT
WORKDIR /app
COPY ./src/TSL.Bom.Service/bin/Debug/netcoreapp1.1/publish .
ENV ASPNETCORE_URLS http://+:5001
ENV ASPNETCORE_ENVIRONMENT $ASPNETCORE_ENVIRONMENT
EXPOSE 5001
ENTRYPOINT ["dotnet", "TSL.Bom.Service.dll"]
#############################################
最佳答案
关于c# - .Net Core 忽略环境变量 DOTNET_SKIP_FIRST_TIME_EXPERIENCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45023293/