dotnet发布输出文件夹?

时间:2019-06-19 09:20:24

标签: .net-core continuous-integration gitlab-ci

dotnet publish命令发布到项目bin/netcoreapp2.2/Debug/publish文件夹中。 netcoreapp2.2可能随dotnet版本而变化,Debug-c参数指定的配置而变化。

出于CI / CD的目的,这显然是不可取的。或者,可以传递-o来传递一条明确的输出路径,但是同样,在CI / CI环境中,该路径应位于项目文件夹结构内,例如像这样:

dotnet publish -o publish

但是,由于publish命令会聚集所有文件,因此它将拾取以前的发布尝试并以递归方式存储它们。可以通过显式清理publish文件夹和/或为项目的csproj添加a来缓解这种情况,但是现在构建脚本和csproj之间存在依赖关系:如果出于任何原因在构建脚本中更改了发布路径没有相应的csproj更新,事情就会中断。

因此,最不脆弱的选择似乎是使用默认的输出路径,因为那会自动排除在全局之外,但是如何消除版本和配置的敏感性呢?是否有一种特别安全的方法来使dotnet告诉我的CI / CD环境,其构建/发布的输出路径是什么?

1 个答案:

答案 0 :(得分:0)

  

IMP:我的信誉不足,无法添加评论

引用:dotnet publish

您可以将相对路径与 -o 选项一起使用,最终避免使用运行时,平台标识来明确显示文件夹名称。

为什么不考虑将build命令与发布配置文件一起使用 ,您可以在其中指定显式路径。但通常相对路径不太容易出错。

希望这对您有帮助!