c# - .Net Core 忽略环境变量 DOTNET_SKIP_FIRST_TIME_EXPERIENCE

标签 c# .net linux jenkins .net-core

好像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 检查命令:

enter image description here

连接 ( docker exec -it jenkins.slave.dotnet.container bash ) 到使用 jenkins.slave.dotnet.image 的容器您可以看到 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 已正确设置为“true”:

enter image description here

dotnet --info 的输出:

enter image description here

这是我的 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"]
#############################################

最佳答案

DOTNET_NOLOGO 取代.
Here您可以找到有关 dotnet 的更多信息环境变量和 here你可以在 Github 上找到源代码。

关于c# - .Net Core 忽略环境变量 DOTNET_SKIP_FIRST_TIME_EXPERIENCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45023293/

相关文章:

linux - 重新处理文本文件以将包含回车符 (CR) 字符的行合并到屏幕结果中

c# - 如何判断一个数是不是2的幂

c# - 使用 OpenXML 使用目录文件填充 Excel 工作表列

c++ - GoDaddy VPS 上的 UDP 服务器

linux - 从文件中每一行的开头删除电子邮件字符串

c# - 查找 .NET 内存泄漏?

c# - 如何安装程序,以便在 Windows Vista/7 上以管理员权限启动时启动该程序

c# - 从C#中的文本框获取html标签

c# - 交互式设计时用户控制

c# - 应用程序中包含的数据库